Require Import mathcomp.ssreflect.ssreflect.
Require Import K_def demo hilbert_ref gentzen universal_model.
Require Import K_def demo hilbert_ref gentzen universal_model.
Theorem soundness s : prv s -> forall (M:cmodel) (w:M), eval s w.
Theorem informative_completeness s :
prv (fImp s fF)
+ (exists2 M:fmodel, #|M| <= 2^(f_size s) & exists w:M, eval s w).
Corollary prv_dec s : decidable (prv s).
Corollary sat_dec s : decidable (exists (M:cmodel) (w:M), eval s w).
Corollary valid_dec s : decidable (forall (M:cmodel) (w:M), eval s w).
Corollary small_models s:
(exists (M:cmodel) (w:M), eval s w) ->
(exists2 M:fmodel, #|M| <= 2^(f_size s) & exists w:M, eval s w).
Canonicity of the pruning demo
Fact DD_canonical F (sfc_F : sf_closed F) (C : clause) :
reflect (C \in S0 F /\ exists M : cmodel, sat M C) (C \in DD F).
Proposition support_sat C :
(exists M, sat M C) <->
(exists D, [/\ D \in S0 (sfc C), (exists M, sat M D) & suppC D C]).
Gentzen System
Theorem gen_completeness C : gen C + (exists M : fmodel, sat M C).
Corollary gen_correctness C : gen C <-> ~ (exists M : cmodel, sat M C).
Corollary gen_dec C : decidable (gen C).
Universal Model
Soundness for all Kripke Models equivalent to XM