author | Christian Urban <christian.urban@kcl.ac.uk> |
Tue, 07 Jan 2025 12:42:42 +0000 | |
changeset 653 | 2807ec31d144 |
parent 107 | 5c816239deaa |
permissions | -rw-r--r-- |
107
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
1 |
|
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
2 |
|
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
3 |
theory Equ = Main + Terms + Fresh + PreEqu: |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
4 |
|
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
5 |
lemma equ_refl: |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
6 |
"nabla\<turnstile>t\<approx>t" |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
7 |
apply(induct_tac t) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
8 |
apply(auto simp add: ds_def) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
9 |
done |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
10 |
|
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
11 |
|
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
12 |
lemma |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
13 |
equ_sym: "nabla\<turnstile>t1\<approx>t2 \<Longrightarrow> nabla\<turnstile>t2\<approx>t1" and |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
14 |
equ_trans: "\<lbrakk>nabla\<turnstile>t1\<approx>t2;nabla\<turnstile>t2\<approx>t3\<rbrakk> \<Longrightarrow> nabla\<turnstile>t1\<approx>t3" and |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
15 |
equ_add_pi: "nabla\<turnstile>t1\<approx>t2 \<Longrightarrow> nabla\<turnstile>swap pi t1\<approx>swap pi t2" |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
16 |
apply(insert big) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
17 |
apply(best)+ |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
18 |
done |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
19 |
|
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
20 |
|
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
21 |
lemma equ_dec_pi: |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
22 |
"nabla\<turnstile>swap pi t1\<approx>swap pi t2\<Longrightarrow>nabla\<turnstile>t1\<approx>t2" |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
23 |
apply(drule_tac pi="(rev pi)" in equ_add_pi) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
24 |
apply(subgoal_tac "nabla\<turnstile>swap (rev pi) (swap pi t2)\<approx>t2") |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
25 |
apply(drule_tac "t1.0"="swap (rev pi) (swap pi t1)" and |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
26 |
"t2.0"="swap (rev pi) (swap pi t2)" and |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
27 |
"t3.0"="t2" in equ_trans) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
28 |
apply(assumption) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
29 |
apply(subgoal_tac "nabla\<turnstile>t1\<approx>swap (rev pi) (swap pi t1)") |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
30 |
apply(drule_tac "t1.0"="t1" and |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
31 |
"t2.0"="swap (rev pi) (swap pi t1)" and |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
32 |
"t3.0"="t2" in equ_trans) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
33 |
apply(assumption)+ |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
34 |
apply(rule equ_sym) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
35 |
apply(rule rev_pi_pi_equ) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
36 |
apply(rule rev_pi_pi_equ) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
37 |
done |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
38 |
|
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
39 |
lemma equ_involutive_left: |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
40 |
"nabla\<turnstile>swap (rev pi) (swap pi t1)\<approx>t2 = nabla\<turnstile>t1\<approx>t2" |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
41 |
apply(auto) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
42 |
apply(subgoal_tac "nabla \<turnstile> t1\<approx> swap (rev pi) (swap pi t1)") |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
43 |
apply(drule_tac "t2.0"="swap (rev pi) (swap pi t1)" and |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
44 |
"t1.0"="t1" and "t3.0"="t2" in equ_trans) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
45 |
apply(assumption)+ |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
46 |
apply(rule equ_sym) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
47 |
apply(rule rev_pi_pi_equ) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
48 |
apply(subgoal_tac "nabla \<turnstile> swap (rev pi) (swap pi t1)\<approx>t1") |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
49 |
apply(drule_tac "t1.0"="swap (rev pi) (swap pi t1)" and |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
50 |
"t2.0"="t1" and "t3.0"="t2" in equ_trans) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
51 |
apply(assumption)+ |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
52 |
apply(rule rev_pi_pi_equ) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
53 |
done |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
54 |
|
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
55 |
lemma equ_pi_to_left: |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
56 |
"nabla\<turnstile>swap (rev pi) t1\<approx>t2 = nabla\<turnstile>t1\<approx> swap pi t2" |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
57 |
apply(auto) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
58 |
apply(rule_tac pi="rev pi" in equ_dec_pi) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
59 |
apply(rule equ_sym) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
60 |
apply(simp only: equ_involutive_left) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
61 |
apply(rule equ_sym) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
62 |
apply(assumption) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
63 |
apply(drule_tac pi="rev pi" in equ_add_pi) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
64 |
apply(drule equ_sym) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
65 |
apply(simp only: equ_involutive_left) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
66 |
apply(drule equ_sym) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
67 |
apply(assumption) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
68 |
done |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
69 |
|
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
70 |
lemma equ_pi_to_right: |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
71 |
"nabla\<turnstile>t1\<approx>swap (rev pi) t2 = nabla\<turnstile>swap pi t1\<approx>t2" |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
72 |
apply(auto) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
73 |
apply(rule_tac pi="rev pi" in equ_dec_pi) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
74 |
apply(simp only: equ_involutive_left) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
75 |
apply(drule_tac pi="rev pi" in equ_add_pi) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
76 |
apply(simp only: equ_involutive_left) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
77 |
done |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
78 |
|
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
79 |
lemma equ_involutive_right: |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
80 |
"nabla\<turnstile>t1\<approx>swap (rev pi) (swap pi t2) = nabla\<turnstile>t1\<approx>t2" |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
81 |
apply(simp only: swap_append[THEN sym]) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
82 |
apply(simp only: equ_pi_to_left[THEN sym]) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
83 |
apply(simp) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
84 |
apply(simp only: swap_append) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
85 |
apply(simp only: equ_involutive_left) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
86 |
done |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
87 |
|
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
88 |
lemma equ_pi1_pi2_add: |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
89 |
"(\<forall>a\<in> ds pi1 pi2. nabla\<turnstile>a\<sharp>t)\<longrightarrow>(nabla\<turnstile>swap pi1 t \<approx> swap pi2 t)" |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
90 |
apply(rule impI) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
91 |
apply(simp only: equ_pi_to_right[THEN sym]) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
92 |
apply(simp only: swap_append[THEN sym]) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
93 |
apply(rule equ_pi_right[THEN spec, THEN mp]) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
94 |
apply(auto) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
95 |
apply(simp only: ds_rev) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
96 |
done |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
97 |
|
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
98 |
lemma pi_right_equ: "(nabla\<turnstile>t \<approx> swap pi t)\<longrightarrow>(\<forall>a\<in> ds [] pi. nabla\<turnstile>a\<sharp>t)" |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
99 |
apply(insert pi_right_equ_help) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
100 |
apply(best) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
101 |
done |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
102 |
|
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
103 |
lemma equ_pi1_pi2_dec: |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
104 |
"(nabla\<turnstile>swap pi1 t \<approx> swap pi2 t)\<longrightarrow>(\<forall>a\<in> ds pi1 pi2. nabla\<turnstile>a\<sharp>t)" |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
105 |
apply(rule impI) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
106 |
apply(simp only: equ_pi_to_right[THEN sym]) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
107 |
apply(simp only: swap_append[THEN sym]) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
108 |
apply(drule pi_right_equ[THEN mp]) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
109 |
apply(simp only: ds_rev) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
110 |
done |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
111 |
|
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
112 |
lemma equ_weak: |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
113 |
"nabla1\<turnstile>t1\<approx>t2\<longrightarrow>(nabla1\<union>nabla2)\<turnstile>t1\<approx>t2" |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
114 |
apply(rule impI) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
115 |
apply(erule equ.induct) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
116 |
apply(auto simp add: fresh_weak) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
117 |
done |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
118 |
|
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
119 |
(* no term can be equal to one of its proper subterm *) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
120 |
lemma psub_trm_not_equ: |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
121 |
"\<forall> t2\<in>psub_trms t1. (\<not>(\<exists> pi. (nabla\<turnstile>t1\<approx>swap pi t2)))" |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
122 |
apply(induct t1) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
123 |
apply(auto) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
124 |
apply(simp add: equ_pi_to_left[THEN sym]) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
125 |
apply(ind_cases "nabla \<turnstile> Abst (swapas (rev pi) list) (swap (rev pi) trm) \<approx> t2") |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
126 |
apply(simp_all) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
127 |
apply(drule abst_psub_trms) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
128 |
apply(drule_tac x="t2a" in bspec) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
129 |
apply(simp) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
130 |
apply(simp add: equ_pi_to_left[THEN sym] swap_append[THEN sym]) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
131 |
apply(drule_tac x="rev (((swapas (rev pi) list, b) # rev pi))" in spec) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
132 |
apply(simp) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
133 |
apply(drule abst_psub_trms) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
134 |
apply(drule_tac x="t2a" in bspec) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
135 |
apply(simp) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
136 |
apply(simp) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
137 |
apply(simp add: equ_pi_to_left[THEN sym]) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
138 |
apply(ind_cases "nabla \<turnstile> Paar (swap (rev pi) trm1) (swap (rev pi) trm2) \<approx> t2") |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
139 |
apply(simp) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
140 |
apply(drule paar_psub_trms) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
141 |
apply(best) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
142 |
apply(simp add: equ_pi_to_left[THEN sym]) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
143 |
apply(ind_cases "nabla \<turnstile> Paar (swap (rev pi) trm1) (swap (rev pi) trm2) \<approx> t2") |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
144 |
apply(simp) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
145 |
apply(drule paar_psub_trms) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
146 |
apply(best) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
147 |
apply(simp add: equ_pi_to_left[THEN sym]) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
148 |
apply(ind_cases "nabla \<turnstile> Func list (swap (rev pi) trm) \<approx> t2") |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
149 |
apply(simp_all) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
150 |
apply(drule func_psub_trms) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
151 |
apply(best) |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
152 |
done |
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
153 |
|
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
154 |
|
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
155 |
|
5c816239deaa
added Unification subdirectory
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
156 |
end |