fact: Fixpoint normalize_tree (t : RTree) (pos : bool) := match t with | rtTrue => if pos then rtTrue else rtFalse | rtFalse => if pos then rtFalse else rtTrue | rtAtom a => if pos then t else rtNot t | rtNot t => normalize_tree t (negb pos) | rtImpl t1 t2 => (if pos then rtOr else rtAnd) (normalize_tree t1 (negb pos)) (normalize_tree t2 pos) | rtOr t1 t2 => (if pos then rtOr else rtAnd) (normalize_tree t1 pos) (normalize_tree t2 pos) | rtAnd t1 t2 => (if pos then rtAnd else rtOr) (normalize_tree t1 pos) (normalize_tree t2 pos) end.
imports: Coq(ZArith Reals List Lia) Flocq(Core) Gappa_library