Section PROPOSITONAL_LOGIC.
Definition propLetter : Set := nat.
Inductive formula : Set :=
| AtomF (i : propLetter) : formula
| ContradictionF : formula
| NegationF (p1 : formula) : formula
| ConjunctionF (p1 : formula) (p2 : formula) : formula
| DisjunctionF (p1 : formula) (p2 : formula) : formula
| ImplicationF (p1 : formula) (p2 : formula) : formula
| BiconditionalF (p1 : formula) (p2 : formula) : formula.
#[global]
Instance propLetter_hasEqDec : hasEqDec propLetter :=
Nat.eq_dec.
#[global]
Instance formula_hasEqDec
: hasEqDec formula.
Definition is_structure (Gamma : ensemble formula) : Prop :=
forall p : formula, p \in Gamma <-> evalFormula (E.preimage AtomF Gamma) p.

Lemma structure_gives_its_subset_to_model (Gamma : ensemble formula) (Gamma' : ensemble formula)
(IS_STRUCTURE : is_structure Gamma')
(INCL : Gamma \subseteq Gamma')
: forall p, p \in Gamma -> evalFormula (E.preimage AtomF Gamma') p.