690 Local_Defs.add_defs [((x, NoSyn), (Thm.empty_binding, t))] ctxt |
690 Local_Defs.add_defs [((x, NoSyn), (Thm.empty_binding, t))] ctxt |
691 in ((SOME lhs, [th]), ctxt') end |
691 in ((SOME lhs, [th]), ctxt') end |
692 | add (SOME (NONE, (t as Free _, _))) ctxt = ((SOME t, []), ctxt) |
692 | add (SOME (NONE, (t as Free _, _))) ctxt = ((SOME t, []), ctxt) |
693 | add (SOME (NONE, (t, _))) ctxt = |
693 | add (SOME (NONE, (t, _))) ctxt = |
694 let |
694 let |
695 val ([s], _) = Name.variants ["x"] (Variable.names_of ctxt); |
695 val (s, _) = Name.variant "x" (Variable.names_of ctxt); |
696 val ([(lhs, (_, th))], ctxt') = |
696 val ([(lhs, (_, th))], ctxt') = |
697 Local_Defs.add_defs [((Binding.name s, NoSyn), |
697 Local_Defs.add_defs [((Binding.name s, NoSyn), |
698 (Thm.empty_binding, t))] ctxt |
698 (Thm.empty_binding, t))] ctxt |
699 in ((SOME lhs, [th]), ctxt') end |
699 in ((SOME lhs, [th]), ctxt') end |
700 | add NONE ctxt = ((NONE, []), ctxt); |
700 | add NONE ctxt = ((NONE, []), ctxt); |