Section UNION.
Variable f : nat -> ensemble (frm L).
Definition union_f : ensemble (frm L) :=
fun p => exists n, p \in f n.
Hypothesis incl : forall n1 : nat, forall n2 : nat, forall LE : n1 <= n2, f n1 \subseteq f n2.
Hypothesis equiconsistent : forall n : nat, inconsistent (f n) <-> inconsistent (f (S n)).
End UNION.
#[local] Hint Resolve fact1_of_1_2_8 fact2_of_1_2_8 fact3_of_1_2_8 fact4_of_1_2_8 fact5_of_1_2_8 lemma1_of_1_2_11 : core.
Context {enum_frm_L : isEnumerable formula}.
#[global]
Instance LindenbaumBooleanAlgebra : isCBA formula (SETOID := formula_isSetoid) :=
{ CBA_isBA := formula_isBA
; CBA_satisfiesBooleanAlgebraLaws := LBA_satisfiesBooleanAlgebraLaws
; CBA_countable := enum_frm_L
}.
Fixpoint axiom_set (X : ensemble formula) (n : nat) {struct n} : ensemble formula :=
match n with
| O => X
| S n => E.union (axiom_set X n) (insertion (improveFilter (Th X) n) n)
end.

Lemma lemma1_of_1_3_9 (X : ensemble formula) (n : nat)
: improveFilter (Th X) n == Th (axiom_set X n).