End Free_Variables.
Section Logic.

(* Specifications: *)
Lemma Axm :
forall (T : System) (f : Formula), mem _ T f -> SysPrf T f.
Lemma sysExtend :
forall (T U : System) (f : Formula),
Included _ T U -> SysPrf T f -> SysPrf U f.
Lemma sysWeaken :
forall (T : System) (f g : Formula), SysPrf T f -> SysPrf (Ensembles.Add _ T g) f.
Lemma impI :
forall (T : System) (f g : Formula),
SysPrf (Ensembles.Add _ T g) f -> SysPrf T (impH g f).
Lemma impE :
forall (T : System) (f g : Formula),
SysPrf T (impH g f) -> SysPrf T g -> SysPrf T f.
Lemma contradiction :
forall (T : System) (f g : Formula),
SysPrf T f -> SysPrf T (notH f) -> SysPrf T g.
Lemma nnE :
forall (T : System) (f : Formula), SysPrf T (notH (notH f)) -> SysPrf T f.
Lemma noMiddle : forall (T : System) (f : Formula), SysPrf T (orH (notH f) f).
Lemma nnI :
forall (T : System) (f : Formula), SysPrf T f -> SysPrf T (notH (notH f)).
Lemma cp1 :
forall (T : System) (f g : Formula),
SysPrf T (impH (notH f) (notH g)) -> SysPrf T (impH g f).
Lemma cp2 :
forall (T : System) (f g : Formula),
SysPrf T (impH g f) -> SysPrf T (impH (notH f) (notH g)).
Lemma orI1 :
forall (T : System) (f g : Formula), SysPrf T f -> SysPrf T (orH f g).
Lemma orI2 :
forall (T : System) (f g : Formula), SysPrf T g -> SysPrf T (orH f g).
Lemma orE :
forall (T : System) (f g h : Formula),
SysPrf T (orH f g) ->
SysPrf T (impH f h) -> SysPrf T (impH g h) -> SysPrf T h.
Lemma orSys :
forall (T : System) (f g h : Formula),
SysPrf (Ensembles.Add _ T f) h -> SysPrf (Ensembles.Add _ T g) h -> SysPrf (Ensembles.Add _ T (orH f g)) h.
Lemma andI :
forall (T : System) (f g : Formula),
SysPrf T f -> SysPrf T g -> SysPrf T (andH f g).
Lemma andE1 :
forall (T : System) (f g : Formula), SysPrf T (andH f g) -> SysPrf T f.
Lemma andE2 :
forall (T : System) (f g : Formula), SysPrf T (andH f g) -> SysPrf T g.
Lemma iffI :
forall (T : System) (f g : Formula),
SysPrf T (impH f g) -> SysPrf T (impH g f) -> SysPrf T (iffH f g).
Lemma iffE1 :
forall (T : System) (f g : Formula),
SysPrf T (iffH f g) -> SysPrf T (impH f g).
Lemma iffE2 :
forall (T : System) (f g : Formula),
SysPrf T (iffH f g) -> SysPrf T (impH g f).
Lemma forallI :
forall (T : System) (f : Formula) (v : nat),
~ In_freeVarSys LNN v T -> SysPrf T f -> SysPrf T (forallH v f).
Lemma forallE :
forall (T : System) (f : Formula) (v : nat) (t : Term),
SysPrf T (forallH v f) -> SysPrf T (substituteFormula LNN f v t).
Lemma forallSimp :
forall (T : System) (f : Formula) (v : nat),
SysPrf T (forallH v f) -> SysPrf T f.
Lemma existI :
forall (T : System) (f : Formula) (v : nat) (t : Term),
SysPrf T (substituteFormula LNN f v t) -> SysPrf T (existH v f).
Lemma existE :
forall (T : System) (f g : Formula) (v : nat),
~ In_freeVarSys LNN v T ->
~ In v (freeVarFormula LNN g) ->
SysPrf T (existH v f) -> SysPrf T (impH f g) -> SysPrf T g.
Lemma existSimp :
forall (T : System) (f : Formula) (v : nat),
SysPrf T f -> SysPrf T (existH v f).
Lemma existSys :
forall (T : System) (f g : Formula) (v : nat),
~ In_freeVarSys LNN v T ->
~ In v (freeVarFormula LNN g) ->
SysPrf (Ensembles.Add _ T f) g -> SysPrf (Ensembles.Add _ T (existH v f)) g.
Lemma absurd1 :
forall (T : System) (f : Formula),
SysPrf T (impH f (notH f)) -> SysPrf T (notH f).
Lemma nImp :
forall (T : System) (f g : Formula),
SysPrf T (andH f (notH g)) -> SysPrf T (notH (impH f g)).
Lemma nOr :
forall (T : System) (f g : Formula),
SysPrf T (andH (notH f) (notH g)) -> SysPrf T (notH (orH f g)).
Lemma nAnd :
forall (T : System) (f g : Formula),
SysPrf T (orH (notH f) (notH g)) -> SysPrf T (notH (andH f g)).
Lemma nForall :
forall (T : System) (f : Formula) (v : nat),
SysPrf T (existH v (notH f)) -> SysPrf T (notH (forallH v f)).
Lemma nExist :
forall (T : System) (f : Formula) (v : nat),
SysPrf T (forallH v (notH f)) -> SysPrf T (notH (existH v f)).
Lemma impRefl : forall (T : System) (f : Formula), SysPrf T (impH f f).
Lemma impTrans :
forall (T : System) (f g h : Formula),
SysPrf T (impH f g) -> SysPrf T (impH g h) -> SysPrf T (impH f h).
Lemma orSym :
forall (T : System) (f g : Formula),
SysPrf T (orH f g) -> SysPrf T (orH g f).
Lemma andSym :
forall (T : System) (f g : Formula),
SysPrf T (andH f g) -> SysPrf T (andH g f).
Lemma iffRefl : forall (T : System) (f : Formula), SysPrf T (iffH f f).
Lemma iffSym :
forall (T : System) (f g : Formula),
SysPrf T (iffH f g) -> SysPrf T (iffH g f).
Lemma iffTrans :
forall (T : System) (f g h : Formula),
SysPrf T (iffH f g) -> SysPrf T (iffH g h) -> SysPrf T (iffH f h).
Lemma eqRefl : forall (T : System) (a : Term), SysPrf T (equal a a).
Lemma eqSym :
forall (T : System) (a b : Term),
SysPrf T (equal a b) -> SysPrf T (equal b a).
Lemma eqTrans :
forall (T : System) (a b c : Term),
SysPrf T (equal a b) -> SysPrf T (equal b c) -> SysPrf T (equal a c).
Lemma eqPlus :
forall (T : System) (a b c d : Term),
SysPrf T (equal a b) ->
SysPrf T (equal c d) -> SysPrf T (equal (Plus a c) (Plus b d)).
Lemma eqTimes :
forall (T : System) (a b c d : Term),
SysPrf T (equal a b) ->
SysPrf T (equal c d) -> SysPrf T (equal (Times a c) (Times b d)).
Lemma eqSucc :
forall (T : System) (a b : Term),
SysPrf T (equal a b) -> SysPrf T (equal (Succ a) (Succ b)).
Lemma eqLT :
forall (T : System) (a b c d : Term),
SysPrf T (equal a b) ->
SysPrf T (equal c d) -> SysPrf T (iffH (LT a c) (LT b d)).