From Undecidability.FOL Require Import FullSyntax.



Inductive syms_func :=
  | f : bool -> syms_func
  | e : syms_func
  | dum : syms_func.

Definition func_arity (f : syms_func) := match f with
  | f _ => 1
  | e => 0
  | dum => 0 end.

#[global]
Instance sig_func : funcs_signature :=
  {| syms := syms_func; ar_syms := func_arity |}.

Inductive syms_pred :=
  | P : syms_pred
  | less : syms_pred
  | equiv : syms_pred.

Definition pred_arty (p : syms_pred) := 2.

#[global]
Instance sig_pred : preds_signature :=
  {| preds := syms_pred; ar_preds := pred_arty |}.