(* Title: ZF/Finite.thy Author: Lawrence C Paulson, Cambridge University Computer Laboratory Copyright 1994 University of Cambridge prove: b ∈ Fin(A) ==> inj(b,b) ⊆ surj(b,b) *)
section‹Finite Powerset Operator and Finite Function Space›
theory Finite importsInductive Epsilon Nat begin
(*The natural numbers as a datatype*) rep_datatype
elimination natE induction nat_induct
case_eqns nat_case_0 nat_case_succ
recursor_eqns recursor_0 recursor_succ
(*The union of two finite sets is finite.*) lemma Fin_UnI [simp]: "[b ∈ Fin(A); c ∈ Fin(A)]==> b ∪ c ∈ Fin(A)" apply (erule Fin_induct) apply (simp_all add: Un_cons) done
(*The union of a set of finite sets is finite.*) lemma Fin_UnionI: "C ∈ Fin(Fin(A)) ==>∪(C) ∈ Fin(A)" by (erule Fin_induct, simp_all)
(*Every subset of a finite set is finite.*) lemma Fin_subset_lemma [rule_format]: "b ∈ Fin(A) ==>∀z. z<=b ⟶ z ∈ Fin(A)" apply (erule Fin_induct) apply (simp add: subset_empty_iff) apply (simp add: subset_cons_iff distrib_simps, safe) apply (erule_tac b = z in cons_Diff [THEN subst], simp) done
lemma Fin_subset: "[c<=b; b ∈ Fin(A)]==> c ∈ Fin(A)" by (blast intro: Fin_subset_lemma)
lemma Fin_IntI1 [intro,simp]: "b ∈ Fin(A) ==> b ∩ c ∈ Fin(A)" by (blast intro: Fin_subset)
lemma Fin_IntI2 [intro,simp]: "c ∈ Fin(A) ==> b ∩ c ∈ Fin(A)" by (blast intro: Fin_subset)
¤ 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.0.13Bemerkung:
(vorverarbeitet am 2026-04-27)
¤
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.