use pair_tac;
authorwenzelm
Sun, 16 Jul 2000 20:57:34 +0200
changeset 9369 139fde7af7bd
parent 9368 415587dff134
child 9370 cccba6147dae
use pair_tac; use split syntax;
src/HOL/Real/PRat.ML
src/HOL/Real/RealDef.ML
--- a/src/HOL/Real/PRat.ML	Sun Jul 16 20:56:53 2000 +0200
+++ b/src/HOL/Real/PRat.ML	Sun Jul 16 20:57:34 2000 +0200
@@ -50,7 +50,9 @@
 AddSEs [ratrelE];
 
 Goal "(x,x): ratrel";
-by (stac surjective_pairing 1 THEN rtac (refl RS ratrelI) 1);
+by (pair_tac "x" 1);
+by (rtac ratrelI 1);
+by (rtac refl 1);
 qed "ratrel_refl";
 
 Goalw [equiv_def, refl_def, sym_def, trans_def]
@@ -189,7 +191,7 @@
 
 Goalw [congruent2_def]
     "congruent2 ratrel (%p1 p2.                  \
-\         split (%x1 y1. split (%x2 y2. ratrel^^{(x1*x2, y1*y2)}) p2) p1)";
+\         (%(x1,y1). (%(x2,y2). ratrel^^{(x1*x2, y1*y2)}) p2) p1)";
 (*Proof via congruent2_commuteI seems longer*)
 by Safe_tac;
 by (asm_simp_tac (simpset() addsimps [pnat_mult_assoc]) 1);
--- a/src/HOL/Real/RealDef.ML	Sun Jul 16 20:56:53 2000 +0200
+++ b/src/HOL/Real/RealDef.ML	Sun Jul 16 20:57:34 2000 +0200
@@ -47,7 +47,9 @@
 AddSEs [realrelE];
 
 Goal "(x,x): realrel";
-by (stac surjective_pairing 1 THEN rtac (refl RS realrelI) 1);
+by (pair_tac "x" 1);
+by (rtac realrelI 1);
+by (rtac refl 1);
 qed "realrel_refl";
 
 Goalw [equiv_def, refl_def, sym_def, trans_def]
@@ -107,7 +109,7 @@
 (**** real_minus: additive inverse on real ****)
 
 Goalw [congruent_def]
-  "congruent realrel (%p. split (%x y. realrel^^{(y,x)}) p)";
+  "congruent realrel (%p. (%(x,y). realrel^^{(y,x)}) p)";
 by Safe_tac;
 by (asm_full_simp_tac (simpset() addsimps [preal_add_commute]) 1);
 qed "real_minus_congruent";
@@ -152,7 +154,7 @@
 (*** Congruence property for addition ***)
 Goalw [congruent2_def]
     "congruent2 realrel (%p1 p2.                  \
-\         split (%x1 y1. split (%x2 y2. realrel^^{(x1+x2, y1+y2)}) p2) p1)";
+\         (%(x1,y1). (%(x2,y2). realrel^^{(x1+x2, y1+y2)}) p2) p1)";
 by Safe_tac;
 by (asm_simp_tac (simpset() addsimps [preal_add_assoc]) 1);
 by (res_inst_tac [("z1.1","x1a")] (preal_add_left_commute RS ssubst) 1);
@@ -319,7 +321,7 @@
 
 Goal 
     "congruent2 realrel (%p1 p2.                  \
-\         split (%x1 y1. split (%x2 y2. realrel^^{(x1*x2 + y1*y2, x1*y2+x2*y1)}) p2) p1)";
+\         (%(x1,y1). (%(x2,y2). realrel^^{(x1*x2 + y1*y2, x1*y2+x2*y1)}) p2) p1)";
 by (rtac (equiv_realrel RS congruent2_commuteI) 1);
 by Safe_tac;
 by (rewtac split_def);