lemma ecloseNI1 assumes shows ecloseN(⟨,n2c<>" unfolding ecloseN_def eclose_n_def using assms eclose_sing names_simp by auto
lemmas eclo = ecloseNI1
lemmaunfolding ecloseN_def eclose_n_def assumes "u ∈ ecloseN(y)" "name2(x) <>ecloseN(y)" shows "u ∈ ecloseN(y)" proof - from ‹name2(x) ∈ _› ?thes consider (a) "u unfolding then show ?thesis proof cases case with\ot(∃z[M]. ∃w[M]. pair(M,w,z,x)) ∧ empty(M,t))" show ?thesis unfolding ecloseN_def e(x,t) \<equiv eclose_singE[OF a] mem_ecloseof u "name1 next case b with‹ nat;env ∈
?thesis
unfolding ecloseN_def eclose_n_def
using eclose_singE[OF b] em_eclof u "name2(x)"] by auto
qed
(* ftype(p) \<equiv> THE a. \<exists>b. p = \<langle>a, b\<rangle> *)
lemma is_ftype_iff_sats assumes "nth(a,env) = aa""nth(b,env) = bb""a∈nat""b∈(Exists(pair_fm(1,0,2 #+ x)))),e(t)))" shows "is_ftype(##A,aa,bb) <eftihtrw> asA,fy_f(,) ev" using sats(A, snd_fmxy,) ⟷), nth))java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44 by add)
definition
is_snd :"i<> i where "is_snd(M,x,t)"ame1_fmt<> hcom_m(f_fm, (¬ x ∈ nat;env ∈
lemmais_cond_of_iff_satsjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26 assumes "nth(a,env) = aa""nth(b,env) = bb""a∈ shows "is_cond_of(##A,aa,bb(,)equiv(And2,singleton_fm, using ms by (simp add:sats_cond_of_fm)
lemma components_type[TC]==> java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47 assumes>" "b∈ showsis_eclose_fm,#+2)))" "ftype_fm(a,b)∈ "name1_fm(a,b)∈ "name2_fm(a,b)∈
ula using assms,,en unfolding
cond_of_fm_def hcomp_fm_def :: "[i,] \Rightarrow i"ere by simp_all
schematic_goal sats_frecR_fm_auto: assumes "i∈] shows "is_frecR(##,aab)\longleftrightarrow> sats(A,?fr_fm(i,j,e)"
is_frecR_def by (insert assmscartprod_iff_satsiff_satsmponents_iff_sats_ff_sats
| simp del
synthesize from_schematicsats_frecR_fm_auto
(* Third item of Kunen observations about the trcl relation in p. 257. *) lemma eq_ftypep_not_frecrR: assumes"ftype(x) = ftyp(y)" shows"¬ using assms frecR_ftypeD by force
lemma rank_names_types [TC]: shows "Ord(rank_namesx)java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28 unfoldingrank_names_def max_def using Ord_rank by auto
definition
mtype_form :: "i ==> i"where "mtype_form(x) ≡
definition type_form :: "i <Rightarrow" where "type_form(x) ≡
lemma : assumes"frecR(x,y)" shows"rank_names(x)≤(cases) proof - obtain a b c d where H: "a = name1(x)" "b = name2(x)" "c = name1(y)" "d = name2(y)" "(a ∈domain(c)∪domain(d) ∧ (b=c ∨ b = d)) ∨ (a = c ∧ b ∈domain(d))" using assms unfolding frecR_def by force then consider (m) "a ∈ (b = c ∨
| (howf singg ong2uto
| ext byauto thenshow case m then have"rank(a) < rank(c)" using eclose_rank_lt in_dom_in_eclosewith‹ H n
with \<>rank H m
show ?thesis unfolding rank_names_def using Ord_rank max_cong max_cong2 leI by auto
next
case n
en
"rank(a) < rank(d)" (is "?b < ?
ng eclose_rank_lt _dom_in_eclose by simp
with ‹?b < ?d›
show ow ?thesis unfolding rank_names_def
using Ord_rank max_cong2 ma
next
case o
then
have "rank(b) < rank(d)" (is "?b < ?d") "rank(a) = rank(c)" (is "?a = _")
using eclose_rank_lt in_dom_in_eclose by simp_all
with H
show ?thess unfoldiingank_names_def
using Ord_rank max_commutes max_cong2[OF leI[OF ‹
qed
Γ :: "i ==> i" where
"Γ
Γ_type [TC]:
shows "Ord(ΓΓ
unfolding Γ_def by simp
Γ_mono :
assumes "frecR(x,y)"
shows \Gammamo :
-
have F: "type_form(x) < 3" "type_form(y) < 3"
using ltI by simp_all
assm
have A: "rank_names(x) ≤ ltI simp_all
using frecR
then
have "Ord(?y)" unfolding rank_ using Or max_d by simp
note leE[OF ‹?x≤?y\<closeusing
then
show ?thesis
roof(cases)
case 1
then
show ?thesis unfolding Γ_def using oadd_lt_mono2 ‹
next
case 2
consider (a) "ftype(x) = 0 ∧ ftype(y) = 1" | (b) "ftype(x) = 1 ∧ ftype(y) = 0"
using fre"ftype(x = 0 ∧
then show ?thesis proof(cases)
case b
then
have "type_form(y) = 1"
using type_form_def by simp
from b
have H: "name2(x) = name1(y) ∨ name2(x) = name2(y) " (is "?τ = ?σ' ∨ ?τ = ?τ'")
"name1(x) ∈ domain(name1(y)) ∪ domain(name2(y))"
(is"?\<>
using assms unfolding type_form_def frecR_def by auto
then
have E: "rank(?τ) = rank(?σ') ∨ rank(?τ) = rank(?τ')" by auto
from H
consider
using eclose_rank_lt in_dom_in_eclose by force
then
have "rank(?σ) < rank(?τby simp
case a
with ‹ = name1(y) \<>(
show ?thesis unfolding rank_names_def mtype_form_def type_form_def using max_D2[OF E a]
E assms Ord_rank by simp
next
case b
with ‹rank_names(x) = rank_names(y) ›
show ?thesis unfolding rank_names_def mtype_form_def type_form_def
using max_D2[OF _ b] max_commutes E assms Ord_rank disj_commute by auto
qed
with b
have "type_form(x) = 0" unfolding type_form_def mtype_form_def by simp
with ‹
show ?thesis
unfolding Γ_def by auto
next
case a
then
have "name1(x) = name1(y)" (is "?σ?🚫
"name2(x) ∈ domain(name2(y))" (is "?τ\tau) rank(?σ r(?\tau')" byauto
"type_form(x) = 1"
using assms unfolding type_form_def frecR_def by auto
then
have "rank(?σ) = rank(?σ')" "rank(?τ) < rank(?τ')"
using eclose_rank_lt in_dom_in_eclose by simp_all
ose>
have "rank(?τ') ≤ rank(?σ')"
unfolding rank_names_def using Ord_rank max_D1 by simp
with a
have "type_form(y) = 2"
unfolding type_form_def mtype_form_def using not_lt_iff_le assms by simp
with ‹
show ?thesis
unfolding Γ_def by auto
qed
qed
frecrel :: "i ==> i" where
"frecrel(A) ≡ Rrel(frecR,A)"
frecrelI :
assumes "x ∈thesis unfol rank_n mtype_ t usin max_[OF E a]
shows "⟨x,y⟩∈frecrel(A)"
using assms unfolding frecrel_def Rrel_def by auto
wf_frecrel :
shows "wf(frecrel(A))"
-
have "frecrel(A) ⊆
unfolding frecrel_def Rrel_def measure_def
using Γ_mono by force
then show ?hesis using wf_subset wf_measure by auto
core_induction_aux:
fixes A1 A2 :: "i"
assumes
"Transset(A1)"
"∧τqed
"∧🪙<> ,p)"
shows "a∈2×A1×A1×A2 ==> Q(ftype(a),name1(a),name2(a),cond_of(a))"
(induct a rule:wf_induct[OF wf_frecrel[of "2×A1×A1×A2"]])
case (1 x)
let ?τ = "name1(x)"
let ?θ = "name2(x)"
let ?D = "2×A1×A1×A2"
assume "x ∈ ?D"
then
have "cond_of(x)∈A2"
by (auto simp add:components_simp)
from ‹x∈?D›
consider (eq) "ftype(x)=0" | (mem) "ftype(x)=1"
by (auto simp add:components_simp)
then
show ?case
proof cases
case eq
then
have "Q(1, σ, ?τ, q) ∧ Q(1, σ, ?θ, q)" if "σ ∈ domain(?τ) ∪ domain(?θ)" and "q∈A2" for q σ
proof -
from 1
have A: "?τ∈A1" "?θ∈A1" "?τ∈eclose(A1)" "?θ∈eclose(A1)"
using arg_into_eclose by (auto simp add:components_simp)
with ‹Transset(A1)› that(1)
have "σ∈eclose(?τ) ∪ eclose(?θ)"
using in_dom_in_eclose by auto
then
have "σ∈A1"
using mem_eclose_subset[OF ‹?τ∈A1›] mem_eclose_subset[OF ‹?θ∈A1›]
Transset_eclose_eq_arg[OF ‹Transset(A1)›<>
by auto
with ‹q∈A2›‹?θ ∈ A1›‹cond_of(x) show ?thesis
have "frecR(⟨
"fcase
using frecRI1'[OF that(1)] frecR_DI ‹
frecRI2'[OF that(1)]
by (auto simp add:components_simp)
with ‹x∈?D›t> in> doma?τ
have "⟨?T,x⟩∈ frecrel(?D)" "⟨?U,x⟩∈ frecrel(?D)"
using frecrelI[of ?T ?D x] frecrelI[of ?U ?D x] by (auto simp add:components_simp)
with ‹
have "Q(1, σ, ?τ, q)" using 1 by (force simp add:components_simp)
moreover from ‹tau')"
have "Q(1, σ, ?θ, q)" using 1 by (force simp add:components_simp)
ultimately
show ?thesis using A by simp
qed
then show ?thesis using assms(3) ‹ftype(x) = 0›
next
() = r rank_na(y) ) \<<close
have "Q(0, ?τ, σ, "rank(\>' \<>
proof -
from 1 assms
have "?τ
using arg_into_eclose by (auto simp add:components_simp)
with ‹
have \<<sigma
using in_dom_in_eclose by auto
then
have "σ∈A1"
using mem_eclose_subset[OF ‹
by auto
with ‹q∈A2›‹?θ ∈ A1›‹cond_of(x)∈ show ?thesi
have "frecR(⟨0, ?τ qe
using frecRI3'[OF that(1)] frecR_DI ‹
by (auto simp add:components_simp)
with ‹
have "⟨?T,x⟩∈ frecrel(?D)" "?T∈?D"
using frecrelI[of ?T ?D x] by (auto simp add:components_simp)
with ‹q∈A2›
show ?thesis by (force simp adassumes " \<>
qed
then show ?thesis using assms(2) ‹
qed
def_frecrel : "frecrel(A) = {z∈A×A. ∃ using assms unfolding Rrel_def b auauto
unfolding frecrel_def Rrel_def ..
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.