src/Pure/Isar/element.ML
changeset 60695 757549b4bbe6
parent 60642 48dd1cefb4ae
child 60949 ccbf9379e355
equal deleted inserted replaced
60694:b3fa4a8cdb5f 60695:757549b4bbe6
   213     else Pretty.keyword1 kind
   213     else Pretty.keyword1 kind
   214   in Pretty.block (Pretty.fbreaks (head :: prts)) end;
   214   in Pretty.block (Pretty.fbreaks (head :: prts)) end;
   215 
   215 
   216 fun obtain prop ctxt =
   216 fun obtain prop ctxt =
   217   let
   217   let
   218     val ((ps, prop'), ctxt') = Variable.focus prop ctxt;
   218     val ((ps, prop'), ctxt') = Variable.focus NONE prop ctxt;
   219     fun fix (x, T) = (Binding.name (Variable.revert_fixed ctxt' x), SOME T, NoSyn);
   219     fun fix (x, T) = (Binding.name (Variable.revert_fixed ctxt' x), SOME T, NoSyn);
   220     val xs = map (fix o #2) ps;
   220     val xs = map (fix o #2) ps;
   221     val As = Logic.strip_imp_prems prop';
   221     val As = Logic.strip_imp_prems prop';
   222   in ((Binding.empty, (xs, As)), ctxt') end;
   222   in ((Binding.empty, (xs, As)), ctxt') end;
   223 
   223