fact: Fixpoint abst_simpl (k: kind) (f : TFormula TX AF k) : TFormula TX AF k:= match f with | TT k => TT k | FF k => FF k | X k p => X k p | A k x t => if needA t then A k x t else X k (mkA k x t) | AND f1 f2 => AND (abst_simpl f1) (abst_simpl f2) | OR f1 f2 => OR (abst_simpl f1) (abst_simpl f2) | IMPL f1 o f2 => IMPL (abst_simpl f1) o (abst_simpl f2) | NOT f => NOT (abst_simpl f) | IFF f1 f2 => IFF (abst_simpl f1) (abst_simpl f2) | EQ f1 f2 => EQ (abst_simpl f1) (abst_simpl f2) end.
imports: List Refl Bool Relation_Definitions Setoid