src/FOLP/simp.ML
changeset 22675 acf10be7dcca
parent 22596 d0d2af4db18f
child 24707 dfeb98f84e93
equal deleted inserted replaced
22674:1a610904bbca 22675:acf10be7dcca
   589 in mk_cong_type thy (Const(f,T'),T') end;
   589 in mk_cong_type thy (Const(f,T'),T') end;
   590 
   590 
   591 fun mk_congs thy = List.concat o map (mk_cong_thy thy);
   591 fun mk_congs thy = List.concat o map (mk_cong_thy thy);
   592 
   592 
   593 fun mk_typed_congs thy =
   593 fun mk_typed_congs thy =
   594 let val S0 = Sign.defaultS thy;
   594 let
   595     fun readfT(f,s) =
   595   fun readfT(f,s) =
   596         let val T = Logic.incr_tvar 9 (Sign.read_typ(thy, K(SOME(S0))) s);
   596     let
   597             val t = case Sign.const_type thy f of
   597       val T = Logic.incr_tvar 9 (Sign.read_typ thy s);
   598                       SOME(_) => Const(f,T) | NONE => Free(f,T)
   598       val t = case Sign.const_type thy f of
   599         in (t,T) end
   599                   SOME(_) => Const(f,T) | NONE => Free(f,T)
       
   600     in (t,T) end
   600 in List.concat o map (mk_cong_type thy o readfT) end;
   601 in List.concat o map (mk_cong_type thy o readfT) end;
   601 
   602 
   602 end (* local *)
   603 end;
   603 end (* SIMP *);
   604 end;