Section CONSTRUCTIVE_FACTS.
Variant Th (X : ensemble formula) (b : formula) : Prop :=
| In_Th
(INFERS : X ⊢ b)
: b \in Th X.
#[local] Hint Constructors Th : core.
#[global]
Add Parametric Morphism :
Th with signature (eqProp ==> eqProp)
as Th_lifts_eqProp.
Proof with reflexivity || eauto.
eapply isFilter_intro.
- exists trueB. econstructor.
eapply ImplicationI, ByAssumption; done!.
- intros x1 x2 [INFERS1] [INFERS2].
econstructor. eapply ConjunctionI; done!.
- intros x [INFERS] x' x_le_x'. apply leB_iff in x_le_x'.
econstructor. eapply Cut_property. exact INFERS.
eapply extend_infers with (Gamma := E.singleton x); done!.
Qed.
Proof with eauto.
intros b [xs ?]; des. apply andsB_le_iff in andsB_LE.
destruct andsB_LE as [X' [xs_repr_X' INFERS]].
econstructor. eapply extend_infers...
intros z z_in. eapply FINITE_SUBSET, xs_repr_X'...
Qed.
#[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 inconsistent_compatWith_isSubsetOf inconsistent_cl_iff : core.

Lemma filters_is_inconsistent_iff (F : ensemble formula)
(F_isFilter : isFilter F)
: inconsistent F <-> F ⊢ ContradictionF.