public static void assertInducedRules() {
    { Cons command = Stella.NIL;
      Symbol name = null;
      List vars = null;
      Cons types = Stella.NIL;

      { Cons rule = null;
        Cons iter000 = Logic.$INDUCED_DECISION_RULES$.theConsList;

        for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
          rule = ((Cons)(iter000.value));
          name = Symbol.internSymbol("Induced-Rule-" + Native.stringify(IntegerWrapper.wrapInteger(Logic.$INDUCED_RULE_COUNTER$)));
          vars = Logic.getVariablesFromConsPropositions(rule);
          types = Stella.NIL;
          if (Logic.$ENABLE_USER_THING$) {
            { Symbol var = null;
              Cons iter001 = vars.theConsList;
              Cons collect000 = null;

              for (;!(iter001 == Stella.NIL); iter001 = iter001.rest) {
                var = ((Symbol)(iter001.value));
                if (collect000 == null) {
                  {
                    collect000 = Cons.cons(Cons.cons(var, Cons.cons(Logic.SYM_LOGIC_USER_THING, Stella.NIL)), Stella.NIL);
                    if (types == Stella.NIL) {
                      types = collect000;
                    }
                    else {
                      Cons.addConsToEndOfConsList(types, collect000);
                    }
                  }
                }
                else {
                  {
                    collect000.rest = Cons.cons(Cons.cons(var, Cons.cons(Logic.SYM_LOGIC_USER_THING, Stella.NIL)), Stella.NIL);
                    collect000 = collect000.rest;
                  }
                }
              }
            }
          }
          else {
            { Symbol var = null;
              Cons iter002 = vars.theConsList;
              Cons collect001 = null;

              for (;!(iter002 == Stella.NIL); iter002 = iter002.rest) {
                var = ((Symbol)(iter002.value));
                if (collect001 == null) {
                  {
                    collect001 = Cons.cons(var, Stella.NIL);
                    if (types == Stella.NIL) {
                      types = collect001;
                    }
                    else {
                      Cons.addConsToEndOfConsList(types, collect001);
                    }
                  }
                }
                else {
                  {
                    collect001.rest = Cons.cons(var, Stella.NIL);
                    collect001 = collect001.rest;
                  }
                }
              }
            }
          }
          Logic.$INDUCED_RULE_COUNTER$ = Logic.$INDUCED_RULE_COUNTER$ + 1;
          command = Cons.list$(Cons.cons(Logic.SYM_LOGIC_DEFRULE, Cons.cons(name, Cons.cons(Cons.cons(Cons.list$(Cons.cons(Logic.SYM_STELLA_FORALL, Cons.cons(types, Cons.cons(Cons.cons(((Cons)(Stella_Object.copyConsTree(rule))), Stella.NIL), Stella.NIL)))), Stella.NIL), Stella.NIL))));
          if (Logic.$LOG_INDUCED_RULES$) {
            {
              System.out.println(command);
              System.out.println();
            }
;
          }
          else {
            System.out.println("Asserting " + name);
          }
          Logic.evaluateLogicCommand(command, false);
        }
      }
    }
  }