Require Export folLogic2.
Unset Standard Proposition Elimination Names.
Section Equality_Logic_Rules.
Variable L : Language.
Notation Formula := (Formula L) (only parsing).
Notation Formulas := (Formulas L) (only parsing).
Notation System := (System L) (only parsing).
Notation Term := (Term L) (only parsing).
Notation Terms := (Terms L) (only parsing).
Let var := var L.
Let apply := apply L.
Let equal := equal L.
Let atomic := atomic L.
Let impH := impH L.
Let notH := notH L.
Let forallH := forallH L.
Let orH := orH L.
Let andH := andH L.
Let existH := existH L.
Let iffH := iffH L.
Let ifThenElseH := ifThenElseH L.
Let Prf := Prf L.
Let SysPrf := SysPrf L.

(* Specifications: *)
Lemma eqRefl :
forall (T : fol.System L) (a : fol.Term L), SysPrf T (equal a a).
Lemma eqSym :
forall (T : fol.System L) (a b : fol.Term L),
SysPrf T (equal a b) -> SysPrf T (equal b a).
Lemma eqTrans :
forall (T : fol.System L) (a b c : fol.Term L),
SysPrf T (equal a b) -> SysPrf T (equal b c) -> SysPrf T (equal a c).