(* Title: HOL/Algebra/Galois_Connection.thy Author: Alasdair Armstrong and Simon Foster Copyright: Alasdair Armstrong and Simon Foster
*)
theory
Complete_Lattice: Armstrong Foster: java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 begin
section
subsection
record( b ',')galcon
orderA :: ""I<^sub>g(A) = \<lparr> orderA = A, orderB = A, lower = id, upper = id \<rparr>"
orderBlocale connectionfixes G()
lower is_order_Apartial_order
upper is_order_Bjava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
definition comp_galcon :: "('bjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 usingby auto : "y \ carrier \ \ \\<^sub>* y \ carrier \"
definitionid_galconagorder "I\<^sub>g(A) = \ orderA = A, orderB = A, lower = id, upper = id \"
subsection \<open>Well-typed connections\<close>
locale = fixesstructure assumes: "partial_order\java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42 and is_order_B: "partial_order \" and lower_closure: "\\<^sup>* \ carrier \ \ carrier \"
per_closure"\<^sub>* \ carrier \ \ carrier \" begin
lemma lower_closed: "x \ carrier \ \ \\<^sup>* x \ carrier \"
er_closure by auto
lemma upper_closed: "y \ carrier \ \ \\<^sub>* y \ carrier \" usingby auto
end
ection
locale galois_connection = connection + assumesby( is_order_B beginjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
lemma is_weak_order_A: "weak_partial_order \" proof - interpret po: partial_order \<X> by (metis (metis) showthesis .. qed
lemma is_weak_order_B: "weak_partial_order \" proof - interpret po: (metisgalois_property) by (metis is_order_B) show qed
lemma"weak_partial_order \" by metis, lifting PiE galois_connection galois_connection_axioms lower_closure weak_partial_order)
lemma: "isotone \ \ \\<^sup>*" proof( simp:isotone_def showweak_partial_order assumea \<in> carrier \<X>" "y \<in> carrier \<X>" "x \<sqsubseteq>\<^bsub>\<X>\<^esub> y"
(metis is_weak_order_Ahave usingby java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34 bymetis fix x y
acirc have b: "\\<^sup>* y \ carrier \" using a(2 then"\<^sup>* y) \ carrier \" usingby( ba1 galois_property upper_closurejava.lang.StringIndexOutOfBoundsException: Index 81 out of bounds for length 81
( is_order_A:"\ byais_weak_order_A thus(: <java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82 bymeson meson is_order_B partial_orderuse_iso2 qed java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
: apply (auto: "
metis) apply have: java.lang.StringIndexOutOfBoundsException: Index 110 out of bounds for length 110
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
lemma upper_comp java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
- assume a1: "y hence: "<><^sub>* y \ carrier \" using upper_closure by blast have f2: "\\<^sup>* (\\<^sub>* y) \\<^bsub>\\<^esub> y" using a1 deflation by blast
ve: "\\<^sub>* (\\<^sup>* (\\<^sub>* y)) \ carrier \" have\<><sup "pi>\<^sup>* (\\<^sub>* y) \ carrier \" using f1 lower_closure by blast
f3partial_order) qed
adjoint_idem1\Y\<
simp)
lemma bysimp is_order_B. upper_comp
lemma adjoint_idem2simpa: idempotent_def partial_order lower_comp bysimp is_order_Ajava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
then"x \\<^bsub>\\<^esub> \\<^sub>* (\\<^sup>* y)" " \" "x \ carrier \" shows proof
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
add
show ?thesis x:"\<^sup>* x \ carrier \"pi\<^sup>* x \<in> carrier \<Y>" proof (rule show java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50 using()lower_closurebsub
^supx\<sqsubseteq>\<^bsub>\<Y>\<^esub> \<Sqinter>\<^bsub>\<Y>\<^esub>{y \<in> carrier \<Y>. x \<sqsubseteq>\<^bsub>\<X>\<^esub> \<pi>\<^sub>* y}" proof (ruleshowy\<in> carrier \<Y>. x \<sqsubseteq>\<^bsub>\<X>\<^esub> \<pi>\<^sub>* y} \<subseteq> carrier \<Y>" show{ \<in> carrier \<Y>. x \<sqsubseteq>\<^bsub>\<X>\<^esub> \<pi>\<^sub>* y} \<subseteq> carrier \<Y>" by auto show"\\<^sup>* x \ carrier \" by (fact x) fix z assume"z \ {y \ carrier \. x \\<^bsub>\\<^esub> \\<^sub>* y}" thus"\\<^sup>* x \\<^bsub>\\<^esub> z"proofassume"z using assms by auto qed show proof (rule "
{ in by auto show"\\<^sup>* x \ {y \ carrier \. x \\<^bsub>\\<^esub> \\<^sub>* y}" proof (auto) show"\\<^sup>* x \ carrier \" by (fact x)
by (meson f2inflation partial_order upper_iso)java.lang.StringIndexOutOfBoundsException: Index 94 out of bounds for length 94 using (imp: upper_comp
add is_order_Bauto qed showjava.lang.StringIndexOutOfBoundsException: Range [137, 137) out of bounds for length 84 by ( qed qed qed
em : assumes showsmetis proof
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
proof( upper_comp show"java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50 using assmsthesis
ssms
java.lang.StringIndexOutOfBoundsException: Index 168 out of bounds for length 168
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
show proof x \<pi>\<^sup>* x \<in> carrier \<Y>" show"\\<^sub>* y \ carrier \" by (fact y) show"\\<^sup>* (\\<^sub>* y) \\<^bsub>\\<^esub> y" by roof(auto qed
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 9 show"\\<^bsub>\\<^esub>{x \ carrier \. \\<^sup>* x \\<^bsub>\\<^esub> y} \\<^bsub>\\<^esub> \\<^sub>* y" proof (rulejava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9 showxjava.lang.StringIndexOutOfBoundsException: Index 115 out of bounds for length 115
auto show"\\<^sub>* y \ carrier \" by (fact y) fix z
java.lang.StringIndexOutOfBoundsException: Index 101 out of bounds for length 101 "z\sqsubseteq\java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66 by (simp"\java.lang.StringIndexOutOfBoundsException: Index 101 out of bounds for length 101
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
definition upper_adjointjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 " A
lemma lower_adjoint_dual "\\<^sub>*(y) = \\<^bsub>\\<^esub> { x \ carrier \. \\<^sup>*(x) \\<^bsub>\\<^esub> y }" byaddjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
lemma( simp\ ..sup_upper by java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
lemma id_gjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
: " \ galois_connection (I\<^sub>g(A))" by add galois_connection_defshowsjava.lang.NullPointerException
lemma comp_galcon_closed: " G"byjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17 showsassume simp proof interpret simpaddcomp_galcon_def by :) interpretG G bysimp introsup_closed
havejava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 by( addis_order_A comp_galcon_def) moreover=galois_connection by (auto add galois_connection_axioms_def dual_order_iff moreover\pi\<^sup>*\<^bsub>G\<^esub> \<circ> \<pi>\<^sup>*\<^bsub>F\<^esub> \<in> carrier \<X>\<^bsub>F\<^esub> \<rightarrow> carrier \<Y>\<^bsub>G\<^esub>"
F. assms java.lang.StringIndexOutOfBoundsException: Range [58, 55) out of bounds for length 58
upper_adjointgjava.lang.StringIndexOutOfBoundsException: Index 125 out of bounds for length 125
Fupper_closure3 byauto moreover have"\ x y. \x \ carrier \\<^bsub>F\<^esub>; y \ carrier \\<^bsub>G\<^esub> \ \
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 by (metis bysimp upper_adjoint_def ultimately by (simp auto add galois_connection_def connection_def qed : bymetis F. G. . assms
lemma
:partial_order
lemma
( add
galois_connectionI assumes
- "L \ carrier A \ carrier B" "R \ carrier B \ carrier A"
isotone:) "And . shows"galois_connection \ orderA = A, orderB = B, lower = L, upper = R \"
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0
lemma galois_connectionI': assumes "partial_order A""partial_order B "L \ carrier A \ carrier B" "R \ carrier B \ carrier A"
"\ X. X \ carrier(B) \ L(R(X)) \\<^bsub>B\<^esub> X" "\ X. X \ carrier(A) \ X \\<^bsub>A\<^esub> R(L(X))" shows using assms bysimp.)
\<open>Retracts\<close>
retract. .
a retract_property> "" < B \<rightarrow> carrier A" begin lemmaretract_inversex\<in> carrier \<X> \<Longrightarrow> \<pi>\<^sub>* (\<pi>\<^sup>* x) = x" by (meson funcset_mems add galois_connection_def connection_def
emma inj_on by simp id_galcon_def end
theorem comp_retract_closed: lemma: shows proof A " B" interpretLjava.lang.StringIndexOutOfBoundsException: Index 91 out of bounds for length 91 by (simp add: assms) interpret g: retractshowsgalois_connection
( funcset_mem lower_closure retract_axioms_def)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 "partial_order bymetisretract_inverse show ?thesis proof fix x assume"x ssumes "retract F" \java.lang.StringIndexOutOfBoundsException: Index 93 out of bounds for length 93 thusshows:F using()f ( add galois_connection_axioms_def weak_partial_order)
subse:java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24 qed
subsection
locale coretract = galois_connection +
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
lemma: java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 by (metis coretract_inverse " G"" F""\\<^bsub>F\<^esub> = \\<^bsub>G\<^esub>" end
comp_coretract_closed assumes"\java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85
proof - by(a: assms by (simp interpret: galois_connection \<circ>\<^sub>g F)" interpret ?thesis by(simp: ) interpret: galois_connection "coretractG ""Y>\<^bsub>F\<^esub> = \\<^bsub>G\<^esub>" byassume x\in carrier
? proof
y assumeqed thus"java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 locale=galois_connection qed qed
subsection fix y
locale = java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38 assumes isotone and upper_iso: "isotone theorem : and upper_inv_eq: "y \ carrier \ \ \\<^sup>* (\\<^sub>* y) = y" beginqed
lemmashows by (rule open>Galois\<close>
lemmaupper_bijbij_betw by ( add:assms
gal_bij_conn:and"\Y \\<^sub>*"
(, auto usinginterpret upper_inv_eqjava.lang.StringIndexOutOfBoundsException: Index 96 out of bounds for length 96 using upper_closed apply done rule g<
sublocale java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9 by( addis_weak_order_A.)
gal_bij_coret by (unfold_locales unfold_locales" \\<^bsub>G \\<^sub>g F\<^esub> y (\\<^sup>*\<^bsub>G \\<^sub>g F\<^esub> (\\<^sub>*\<^bsub>G \\<^sub>g F\<^esub> y))"
end
theorem
shows gal_bij_retretract proof - interpret f: galois_bijection F
g:galois_bijection by( add assumes:" \ \ \\<^sup>*" interpret gf:java.lang.StringIndexOutOfBoundsException: Range [0, 16) out of bounds for length 3 bysimpcomp_galcon_closedgal_bij_conn) show ?thesis shows(java.lang.NullPointerException showproof
(simp add, metiscomp_galcon_def galcon.select_convs.select_convsadd)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 by (simpgfGjava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57 fix assume thesis thusby( "isotone
assms)flower_closed,auto
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6 fix y
> by (simp add (simp:.) qed qed
end
¤ Dauer der Verarbeitung: 0.15 Sekunden
(vorverarbeitet)
¤
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 ist noch experimentell.