equal
deleted
inserted
replaced
94 val dummy = assert_all is_Free rec_params |
94 val dummy = assert_all is_Free rec_params |
95 (fn t => "Param in recursion term not a free variable: " ^ |
95 (fn t => "Param in recursion term not a free variable: " ^ |
96 Syntax.string_of_term ctxt t); |
96 Syntax.string_of_term ctxt t); |
97 |
97 |
98 (*** Construct the fixedpoint definition ***) |
98 (*** Construct the fixedpoint definition ***) |
99 val mk_variant = Name.variant (List.foldr OldTerm.add_term_names [] intr_tms); |
99 val mk_variant = singleton (Name.variant_list (List.foldr OldTerm.add_term_names [] intr_tms)); |
100 |
100 |
101 val z' = mk_variant"z" and X' = mk_variant"X" and w' = mk_variant"w"; |
101 val z' = mk_variant"z" and X' = mk_variant"X" and w' = mk_variant"w"; |
102 |
102 |
103 fun dest_tprop (Const(@{const_name Trueprop},_) $ P) = P |
103 fun dest_tprop (Const(@{const_name Trueprop},_) $ P) = P |
104 | dest_tprop Q = error ("Ill-formed premise of introduction rule: " ^ |
104 | dest_tprop Q = error ("Ill-formed premise of introduction rule: " ^ |