instance apply standard proof(intro exI conjI strip) fix x y
{ fix t have"(t ⊑ C_meet⋅x⋅y) = (t ⊑ x ∧ t ⊑ y)" proof (induct t rule:C.take_induct) fix n show"(C_take n⋅t ⊑ C_meet⋅x⋅y) = (C_take n⋅t ⊑ x ∧ C_take n⋅t ⊑ y)" proof (induct n arbitrary: t x y rule:nat_induct) case0thus ?caseby auto next case (Suc n t x y) with C.nchotomy[of t] C.nchotomy[of x] C.nchotomy[of y] show ?caseby fastforce qed qed auto
} note * = this show"C_meet⋅x⋅y ⊑ x"using * by auto show"C_meet⋅x⋅y ⊑ y"using * by auto fix z assume"z ⊑ x"and"z ⊑ y" thus"z ⊑ C_meet⋅x⋅y"using * by auto qed end
lemma C_meet_is_meet: "(z ⊑ C_meet⋅x⋅y) = (z ⊑ x ∧ z ⊑ y)" proof (induct z rule:C.take_induct) fix n show"(C_take n⋅z ⊑ C_meet⋅x⋅y) = (C_take n⋅z ⊑ x ∧ C_take n⋅z ⊑ y)" proof (induct n arbitrary: z x y rule:nat_induct) case0thus ?caseby auto next case (Suc n z x y) thus ?case apply - apply (cases z, simp) apply (cases x, simp) apply (cases y, simp) apply (fastforce simp add: cfun_below_iff) done qed qed auto
instance C :: cont_binary_meet proof (standard, goal_cases) have [simp]:"∧ x y. x ⊓ y = C_meet⋅x⋅y" using C_meet_is_meet by (blast intro: is_meetI) case1thus ?case by (simp add: ch2ch_Rep_cfunR contlub_cfun_arg contlub_cfun_fun) qed
lemma [simp]: "C⋅r ⊓ r = r" by (auto intro: is_meetI simp add: below_C)
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.