fact: Fixpoint PairwiseEqual (T : fol.System L) (n : nat) {struct n} : fol.Terms L n -> fol.Terms L n -> Prop := match n return (fol.Terms L n -> fol.Terms L n -> Prop) with | O => fun ts ss : fol.Terms L 0 => True | S x => fun ts ss : fol.Terms L (S x) => let (a, b) := proj1_sig (consTerms L x ts) in let (c, d) := proj1_sig (consTerms L x ss) in SysPrf T (a = c)%fol /\ PairwiseEqual T x b d end.
imports: Coq(Ensembles List Arith Lia) hydras.Ackermann(ListExt folProp folProof) hydras.Ackermann(subProp folReplace subAll misc) hydras(Compat815)