proposition: Theorem spec_addc x y: [[add x y]] = [[x]] + [[y]].
proof: Proof. unfold to_Qc. transitivity (Q2Qc ([x] + [y])). unfold Q2Qc. apply Qc_decomp; unfold this. apply Qred_complete; apply spec_add; auto. unfold Qcplus, Q2Qc. apply Qc_decomp; unfold this. apply Qred_complete. apply Qplus_comp; apply Qeq_sym; apply Qred_correct. Qed.
imports: BigNumPrelude Lia QArith Qcanon Qpower Qminmax NSig ZSig QSig