fact: Fixpoint xforgetF (x:F) (e:xexprF x) {struct e} : expr := match e with | xexprF_var i => expr_var i | xexprF_int k => expr_int k | xexprF_plus _ _ e f => expr_plus (xforgetF _ e) (xforgetF _ f) | xexprF_mult _ _ e f => expr_mult (xforgetF _ e) (xforgetF _ f) | xexprF_unop _ f e => expr_unop f (xforgetF _ e) | xexprF_binop _ _ f e e' => expr_binop f (xforgetF _ e) (xforgetF _ e') | xexprF_part _ f e _ => expr_part f (xforgetF _ e) | xexprF_div _ _ e f _ => expr_div (xforgetF _ e) (xforgetF _ f) | xexprF_zero => expr_zero | xexprF_one => expr_one | xexprF_nat n => expr_nat n | xexprF_inv _ e => expr_inv (xforgetF _ e) | xexprF_minus _ _ e f => expr_minus (xforgetF _ e) (xforgetF _ f) | xexprF_power _ e n => expr_power n (xforgetF _ e) end.
imports: CoRN.algebra.CFields CoRN.tactics.AlgReflection