proposition: Lemma functionSymbolsNotEmpty : FunctionSymbol.
proof: Proof. Proof a. Definition f_type (f : FunctionSymbol) := match f with | a => #Star | b => #Star | c => #Star --> #Star end. End Sig. Module Terms := Terms Sig. Module P <: Precedence. Module Import S := Sig. Module FS <: SetA. Definition A := Sig.FunctionSymbol. End FS. Module Import FS_eq := Eqset_def FS. Module Import P <: Poset. Definition A := A. Module Export O <: Ord. Module S := FS_eq. Definition A := A. Definition gtA f g := match f, g with | a, b => True | _, _ => False end. Definition gtA_eqA_compat := @Eqset_def_gtA_eqA_compat A gtA. End O. Lemma gtA_so : strict_order gtA. Proof. split. intros x y z xy yz. destruct x; destruct y; destruct z; try_solve. intros x y. destruct x; try_solve. Qed.
imports: CoLoR(TermsSig Horpo HorpoWf RelExtras Terms LogicUtil) Coq(Wf_nat List)