fact: Fixpoint L_form n : list form := match n with | 0 => [fal] | S n => L_form n ++ concat [[ atom (var_pred x ar) v | v ∈ vecs_from (L_term n) ar ] | (x, ar) ∈ (list_prod (L_nat n) (L_nat n)) ] ++ concat [[ atom (pred P) v | v ∈ vecs_from (L_term n) (ar_preds P) ] | P ∈ L_T n] ++ concat ([ [ bin op phi psi | (phi, psi) ∈ (list_prod (L_form n) (L_form n)) ] | op ∈ L_T n]) ++ concat ([ [ quant_indi op phi | phi ∈ L_form n ] | op ∈ L_T n]) ++ concat ([ [ quant_func op ar phi | phi ∈ L_form n ] | (op, ar) ∈ (list_prod (L_T n) (L_nat n))]) ++ concat ([ [ quant_pred op ar phi | phi ∈ L_form n ] | (op, ar) ∈ (list_prod (L_T n) (L_nat n))]) end.
imports: Undecidability.SOL.SOL Undecidability.Shared.Dec Undecidability.Shared.Libs.PSL(Vectors) Undecidability.Synthetic(Definitions DecidabilityFacts EnumerabilityFacts ListEnumerabilityFacts ReducibilityFacts) EqdepFacts Eqdep_dec List