src/HOL/TLA/Intensional.thy
changeset 31945 d5f186aa0bed
parent 31460 d97fa41cc600
child 35108 e384e27c229f
equal deleted inserted replaced
31944:c8a35979a5bc 31945:d5f186aa0bed
   266 *)
   266 *)
   267 fun flatten t =
   267 fun flatten t =
   268   let
   268   let
   269     (* analogous to RS, but using matching instead of resolution *)
   269     (* analogous to RS, but using matching instead of resolution *)
   270     fun matchres tha i thb =
   270     fun matchres tha i thb =
   271       case Seq.chop 2 (biresolution true [(false,tha)] i thb) of
   271       case Seq.chop 2 (Thm.biresolution true [(false,tha)] i thb) of
   272           ([th],_) => th
   272           ([th],_) => th
   273         | ([],_)   => raise THM("matchres: no match", i, [tha,thb])
   273         | ([],_)   => raise THM("matchres: no match", i, [tha,thb])
   274         |      _   => raise THM("matchres: multiple unifiers", i, [tha,thb])
   274         |      _   => raise THM("matchres: multiple unifiers", i, [tha,thb])
   275 
   275 
   276     (* match tha with some premise of thb *)
   276     (* match tha with some premise of thb *)