fact: Fixpoint first_order phi := match phi with | fal => True | atom (pred _) v => Forall first_order_term v | atom (var_pred _ _) _ => False | bin _ phi psi => first_order phi /\ first_order psi | quant_indi _ phi => first_order phi | quant_func _ _ _ => False | quant_pred _ _ _ => False end.
imports: Undecidability.SOL.SOL Undecidability.Shared.Dec Undecidability.Shared.Libs.PSL(Vectors) Undecidability.Synthetic(Definitions DecidabilityFacts EnumerabilityFacts ListEnumerabilityFacts ReducibilityFacts) EqdepFacts Eqdep_dec