tuned;
authorwenzelm
Fri, 17 Jan 2025 19:56:34 +0100
changeset 81865 443fabb0ab29
parent 81864 17831ae5224d
child 81866 fa0bafdc0fc6
tuned;
src/HOL/Import/import_rule.ML
--- a/src/HOL/Import/import_rule.ML	Fri Jan 17 19:46:36 2025 +0100
+++ b/src/HOL/Import/import_rule.ML	Fri Jan 17 19:56:34 2025 +0100
@@ -36,7 +36,7 @@
 fun meta_mp th1 th2 =
   let
     val th1a = implies_elim_all th1
-    val th1b = Thm.implies_intr (strip_imp_concl (Thm.cprop_of th2)) th1a
+    val th1b = Thm.implies_intr (Thm.cconcl_of th2) th1a
     val th2a = implies_elim_all th2
     val th3 = Thm.implies_elim th1b th2a
   in
@@ -45,7 +45,7 @@
 
 fun meta_eq_to_obj_eq th =
   let
-    val (tml, tmr) = Thm.dest_binop (strip_imp_concl (Thm.cprop_of th))
+    val (tml, tmr) = Thm.dest_binop (Thm.cconcl_of th)
     val cty = Thm.ctyp_of_cterm tml
     val i = Thm.instantiate' [SOME cty] [SOME tml, SOME tmr]
       @{thm meta_eq_to_obj_eq}
@@ -57,7 +57,7 @@
 
 fun eq_mp th1 th2 =
   let
-    val (tm1l, tm1r) = Thm.dest_binop (Thm.dest_arg (strip_imp_concl (Thm.cprop_of th1)))
+    val (tm1l, tm1r) = Thm.dest_binop (Thm.dest_arg (Thm.cconcl_of th1))
     val i1 = Thm.instantiate' [] [SOME tm1l, SOME tm1r] @{thm iffD1}
     val i2 = meta_mp i1 th1
   in
@@ -66,8 +66,8 @@
 
 fun comb th1 th2 =
   let
-    val t1c = Thm.dest_arg (strip_imp_concl (Thm.cprop_of th1))
-    val t2c = Thm.dest_arg (strip_imp_concl (Thm.cprop_of th2))
+    val t1c = Thm.dest_arg (Thm.cconcl_of th1)
+    val t2c = Thm.dest_arg (Thm.cconcl_of th2)
     val (cf, cg) = Thm.dest_binop t1c
     val (cx, cy) = Thm.dest_binop t2c
     val [A, B] = Thm.dest_ctyp (Thm.ctyp_of_cterm cf)
@@ -79,8 +79,8 @@
 
 fun trans th1 th2 =
   let
-    val t1c = Thm.dest_arg (strip_imp_concl (Thm.cprop_of th1))
-    val t2c = Thm.dest_arg (strip_imp_concl (Thm.cprop_of th2))
+    val t1c = Thm.dest_arg (Thm.cconcl_of th1)
+    val t2c = Thm.dest_arg (Thm.cconcl_of th2)
     val (r, s) = Thm.dest_binop t1c
     val (_, t) = Thm.dest_binop t2c
     val ty = Thm.ctyp_of_cterm r
@@ -92,8 +92,8 @@
 
 fun deduct th1 th2 =
   let
-    val th1c = strip_imp_concl (Thm.cprop_of th1)
-    val th2c = strip_imp_concl (Thm.cprop_of th2)
+    val th1c = Thm.cconcl_of th1
+    val th2c = Thm.cconcl_of th2
     val th1a = implies_elim_all th1
     val th2a = implies_elim_all th2
     val th1b = Thm.implies_intr th2c th1a
@@ -110,7 +110,7 @@
 
 fun conj1 th =
   let
-    val (tml, tmr) = Thm.dest_binop (Thm.dest_arg (strip_imp_concl (Thm.cprop_of th)))
+    val (tml, tmr) = Thm.dest_binop (Thm.dest_arg (Thm.cconcl_of th))
     val i = Thm.instantiate' [] [SOME tml, SOME tmr] @{thm conjunct1}
   in
     meta_mp i th
@@ -118,7 +118,7 @@
 
 fun conj2 th =
   let
-    val (tml, tmr) = Thm.dest_binop (Thm.dest_arg (strip_imp_concl (Thm.cprop_of th)))
+    val (tml, tmr) = Thm.dest_binop (Thm.dest_arg (Thm.cconcl_of th))
     val i = Thm.instantiate' [] [SOME tml, SOME tmr] @{thm conjunct2}
   in
     meta_mp i th
@@ -134,7 +134,7 @@
 fun abs cv th =
   let
     val th1 = implies_elim_all th
-    val (tl, tr) = Thm.dest_binop (Thm.dest_arg (strip_imp_concl (Thm.cprop_of th1)))
+    val (tl, tr) = Thm.dest_binop (Thm.dest_arg (Thm.cconcl_of th1))
     val (ll, lr) = (Thm.lambda cv tl, Thm.lambda cv tr)
     val (al, ar) = (Thm.apply ll cv, Thm.apply lr cv)
     val bl = beta al