Theorem: Groth16TypeI.is_sound (FormalSnarksProject/SNARKs/Groth16.lean)

State before:
case intro.intro.intro
F : Type
inst✝ : Field F
n_stmt n_wit n_var : ℕ
u_stmt : Fin n_stmt → Polynomial F
u_wit : Fin n_wit → Polynomial F
v_stmt : Fin n_stmt → Polynomial F
v_wit : Fin n_wit → Polynomial F
w_stmt : Fin n_stmt → Polynomial F
w_wit : Fin n_wit → Polynomial F
r : Fin n_wit → F
stmt : Groth16TypeI.Stmt
prover : Prover F Groth16TypeI
t : Polynomial F := ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))
h0012 :
  (-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.α => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.β => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.δ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.γ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            (fun₀ | Vars.γ => 1) +
                ((fun₀ | Vars.δ => 1) +
                  ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
          1
        else 0) +
        ((((if
                  (fun₀ | Vars.β => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  (fun₀ | Vars.α => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h0021 :
  (-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.α => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.β => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.δ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.γ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            (fun₀ | Vars.γ => 1) +
                ((fun₀ | Vars.δ => 1) +
                  ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
          1
        else 0) +
        ((((if
                  (fun₀ | Vars.β => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  (fun₀ | Vars.α => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h0022 :
  (-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.α => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.β => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.δ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.γ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            (fun₀ | Vars.γ => 1) +
                ((fun₀ | Vars.δ => 1) +
                  ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
          1
        else 0) +
        ((((if
                  (fun₀ | Vars.β => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  (fun₀ | Vars.α => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h0112 :
  (-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.α => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.β => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.δ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.γ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            (fun₀ | Vars.γ => 1) +
                ((fun₀ | Vars.δ => 1) +
                  ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
          1
        else 0) +
        ((((if
                  (fun₀ | Vars.β => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  (fun₀ | Vars.α => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h0121 :
  (-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.α => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.β => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.δ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.γ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            (fun₀ | Vars.γ => 1) +
                ((fun₀ | Vars.δ => 1) +
                  ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
          1
        else 0) +
        ((((if
                  (fun₀ | Vars.β => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  (fun₀ | Vars.α => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h0122 :
  (-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.α => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.β => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.δ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.γ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            (fun₀ | Vars.γ => 1) +
                ((fun₀ | Vars.δ => 1) +
                  ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
          1
        else 0) +
        ((((if
                  (fun₀ | Vars.β => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  (fun₀ | Vars.α => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h0212 :
  (-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.α => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.β => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.δ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.γ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            (fun₀ | Vars.γ => 1) +
                ((fun₀ | Vars.δ => 1) +
                  ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
          1
        else 0) +
        ((((if
                  (fun₀ | Vars.β => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  (fun₀ | Vars.α => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h0221 :
  (-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.α => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.β => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.δ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.γ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            (fun₀ | Vars.γ => 1) +
                ((fun₀ | Vars.δ => 1) +
                  ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
          1
        else 0) +
        ((((if
                  (fun₀ | Vars.β => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  (fun₀ | Vars.α => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h0222 :
  (-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.α => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.β => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.δ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.γ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            (fun₀ | Vars.γ => 1) +
                ((fun₀ | Vars.δ => 1) +
                  ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
          1
        else 0) +
        ((((if
                  (fun₀ | Vars.β => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  (fun₀ | Vars.α => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 2) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h1022 :
  (-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.α => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.β => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.δ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.γ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            (fun₀ | Vars.γ => 1) +
                ((fun₀ | Vars.δ => 1) +
                  ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
          1
        else 0) +
        ((((if
                  (fun₀ | Vars.β => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  (fun₀ | Vars.α => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h1112 :
  (-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.α => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.β => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.δ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.γ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            (fun₀ | Vars.γ => 1) +
                ((fun₀ | Vars.δ => 1) +
                  ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
          1
        else 0) +
        ((((if
                  (fun₀ | Vars.β => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  (fun₀ | Vars.α => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h1121 :
  (-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.α => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 1 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.β => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.δ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 1 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.γ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            (fun₀ | Vars.γ => 1) +
                ((fun₀ | Vars.δ => 1) +
                  ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
          1
        else 0) +
        ((((if
                  (fun₀ | Vars.β => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  (fun₀ | Vars.α => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 1 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 1 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h1122 :
  (-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1))) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1)) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.α => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.β => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) +
                              ((fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.δ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  (fun₀ | Vars.β => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  (fun₀ | Vars.α => 1) +
                                      ((fun₀ | Vars.γ => 1) +
                                        ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                      fun₀ | Vars.δ => 2 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                (fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.β => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) +
                            ((fun₀ | Vars.δ => 1) +
                              ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.δ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.δ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                (fun₀ | Vars.β => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                (fun₀ | Vars.α => 1) +
                                    ((fun₀ | Vars.γ => 1) +
                                      ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                    fun₀ | Vars.δ => 2 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              (fun₀ | Vars.γ => 1) +
                                  ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            (fun₀ | Vars.γ => 1) +
                ((fun₀ | Vars.δ => 1) +
                  ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1)))) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
          1
        else 0) +
        ((((if
                  (fun₀ | Vars.β => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  (fun₀ | Vars.α => 1) +
                      ((fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                (fun₀ | Vars.δ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1)) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                (fun₀ | Vars.γ => 1) +
                    ((fun₀ | Vars.δ => 1) +
                      ((fun₀ | Vars.α => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) +
                      ((fun₀ | Vars.δ => 1) +
                        ((fun₀ | Vars.β => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    (fun₀ | Vars.γ => 1) +
                        ((fun₀ | Vars.δ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)))) =
                      (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      (fun₀ | Vars.γ => 1) +
                          ((fun₀ | Vars.δ => 1) +
                            ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 2 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.δ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.δ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              (fun₀ | Vars.β => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              (fun₀ | Vars.α => 1) +
                                  ((fun₀ | Vars.γ => 1) +
                                    ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1))) =
                                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                  fun₀ | Vars.δ => 2 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            (fun₀ | Vars.γ => 1) +
                                ((fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1)) =
                              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 2) +
                                fun₀ | Vars.δ => 2 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
hA1011 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA0111 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA0012 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA0011 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA0010 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA0101 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA1001 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA0001 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA0110 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA1010 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA0021 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB1011 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB0111 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB0012 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB0011 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB0010 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB0101 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB1001 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB0001 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB0110 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB1010 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB0021 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC1011 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC0111 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC0012 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 2 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC0011 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC0010 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC0101 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC1001 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC0001 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 0) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC0110 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC1010 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 1) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC0021 :
  (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.α => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                  (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  (fun₀ | Vars.γ => 1) =
                    (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.δ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.δ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        ((fun₀ | Vars.β => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        ((fun₀ | Vars.α => 1) + fun₀ | Vars.γ => 1) =
                          (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      (fun₀ | Vars.γ => 1) =
                        (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.β => 1) =
            (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.γ => 1) =
              (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              (fun₀ | Vars.γ => 1) + ((fun₀ | Vars.δ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              ((fun₀ | Vars.γ => 1) + fun₀ | Vars.δ => 1) =
                (((fun₀ | Vars.α => 0) + fun₀ | Vars.β => 0) + fun₀ | Vars.γ => 2) + fun₀ | Vars.δ => 1 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
⊢ ((List.map (fun i => Polynomial.C (stmt i) * u_stmt i) (List.finRange n_stmt)).sum +
        (List.map (fun i => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q i)) * u_wit i)
            (List.finRange n_wit)).sum) *
      ((List.map (fun i => Polynomial.C (stmt i) * v_stmt i) (List.finRange n_stmt)).sum +
        (List.map (fun i => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q i)) * v_wit i)
            (List.finRange n_wit)).sum) =
    (List.map (fun i => Polynomial.C (stmt i) * w_stmt i) (List.finRange n_stmt)).sum +
        (List.map (fun i => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q i)) * w_wit i)
            (List.finRange n_wit)).sum +
      (List.map
          (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) * (Polynomial.X ^ ↑x * t))
          (List.finRange (n_var - 1))).sum
Tactic:
simp only [Vars.finsupp_eq_ext, Finsupp.single_apply, Finsupp.add_apply] at h0012 h0021 h0022 h0112 h0121 h0122 h0212 h0221 h0222 h1022 h1112 h1121 h1122 hA1011 hA0111 hA0012 hA0011 hA0010 hA0101 hA1001 hA0001 hA0110 hA1010 hA0021 hB1011 hB0111 hB0012 hB0011 hB0010 hB0101 hB1001 hB0001 hB0110 hB1010 hB0021 hC1011 hC0111 hC0012 hC0011 hC0010 hC0101 hC1001 hC0001 hC0110 hC1010 hC0021
State after:
case intro.intro.intro
F : Type
inst✝ : Field F
n_stmt n_wit n_var : ℕ
u_stmt : Fin n_stmt → Polynomial F
u_wit : Fin n_wit → Polynomial F
v_stmt : Fin n_stmt → Polynomial F
v_wit : Fin n_wit → Polynomial F
w_stmt : Fin n_stmt → Polynomial F
w_wit : Fin n_wit → Polynomial F
r : Fin n_wit → F
stmt : Groth16TypeI.Stmt
prover : Prover F Groth16TypeI
t : Polynomial F := ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))
h0012 :
  (-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0)))) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                          if False then 2 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if True then 2 else 0 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            ((if False then 1 else 0) +
                  ((if False then 1 else 0) +
                    ((if True then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 2 else 0) ∧
              ((if False then 1 else 0) +
                    ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 2 else 0) ∧
                ((if True then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 2 else 0) ∧
                  (if False then 1 else 0) +
                      ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 2 else 0 then
          1
        else 0) +
        ((((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                          if False then 2 else 0) ∧
                      (if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if True then 2 else 0 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                          if False then 2 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if True then 2 else 0 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h0021 :
  (-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                    if False then 1 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if True then 1 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0)))) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                    if False then 1 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if True then 1 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                    if False then 1 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if True then 1 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                          if False then 1 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if True then 1 else 0 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            ((if False then 1 else 0) +
                  ((if False then 1 else 0) +
                    ((if True then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) +
                    ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) +
                      ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if True then 1 else 0 then
          1
        else 0) +
        ((((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                          if False then 1 else 0) ∧
                      (if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                          if False then 1 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if True then 1 else 0 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h0022 :
  (-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0)))) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                          if False then 2 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if True then 2 else 0 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            ((if False then 1 else 0) +
                  ((if False then 1 else 0) +
                    ((if True then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                  if False then 2 else 0) ∧
              ((if False then 1 else 0) +
                    ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                    if False then 2 else 0) ∧
                ((if True then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                      if False then 2 else 0) ∧
                  (if False then 1 else 0) +
                      ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if True then 2 else 0 then
          1
        else 0) +
        ((((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                          if False then 2 else 0) ∧
                      (if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if True then 2 else 0 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                          if False then 2 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if True then 2 else 0 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h0112 :
  (-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0)))) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                          if False then 2 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if True then 2 else 0 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            ((if False then 1 else 0) +
                  ((if False then 1 else 0) +
                    ((if True then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                  if False then 2 else 0) ∧
              ((if False then 1 else 0) +
                    ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                    if False then 2 else 0) ∧
                ((if True then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                      if False then 2 else 0) ∧
                  (if False then 1 else 0) +
                      ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if True then 2 else 0 then
          1
        else 0) +
        ((((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                          if False then 2 else 0) ∧
                      (if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if True then 2 else 0 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                          if False then 2 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if True then 2 else 0 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h0121 :
  (-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                    if False then 1 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if True then 1 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0)))) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                    if False then 1 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if True then 1 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                    if False then 1 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if True then 1 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                          if False then 1 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if True then 1 else 0 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            ((if False then 1 else 0) +
                  ((if False then 1 else 0) +
                    ((if True then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) +
                    ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) +
                      ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                      if True then 1 else 0 then
          1
        else 0) +
        ((((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                          if False then 1 else 0) ∧
                      (if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                          if False then 1 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if True then 1 else 0 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h0122 :
  (-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0)))) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                          if False then 2 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if True then 2 else 0 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            ((if False then 1 else 0) +
                  ((if False then 1 else 0) +
                    ((if True then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                  if False then 2 else 0) ∧
              ((if False then 1 else 0) +
                    ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                    if False then 2 else 0) ∧
                ((if True then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                      if False then 2 else 0) ∧
                  (if False then 1 else 0) +
                      ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                      if True then 2 else 0 then
          1
        else 0) +
        ((((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                          if False then 2 else 0) ∧
                      (if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if True then 2 else 0 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                          if False then 2 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if True then 2 else 0 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h0212 :
  (-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0)))) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                                  (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                          if False then 2 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                          if True then 2 else 0 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                              (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            ((if False then 1 else 0) +
                  ((if False then 1 else 0) +
                    ((if True then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                  if False then 2 else 0) ∧
              ((if False then 1 else 0) +
                    ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                    if False then 2 else 0) ∧
                ((if True then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                      if False then 2 else 0) ∧
                  (if False then 1 else 0) +
                      ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                      if True then 2 else 0 then
          1
        else 0) +
        ((((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                          if False then 2 else 0) ∧
                      (if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                          if True then 2 else 0 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                          if False then 2 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                          if True then 2 else 0 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h0221 :
  (-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                    if False then 1 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if True then 1 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0)))) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                    if False then 1 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                                  (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if True then 1 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                    if False then 1 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if True then 1 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                          if False then 1 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                          if True then 1 else 0 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                              (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            ((if False then 1 else 0) +
                  ((if False then 1 else 0) +
                    ((if True then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) +
                    ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) +
                      ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                      if True then 1 else 0 then
          1
        else 0) +
        ((((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                          if False then 1 else 0) ∧
                      (if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                          if False then 1 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                          if True then 1 else 0 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h0222 :
  (-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0)))) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                                  (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 0 else 0) + if False then 2 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                          if False then 2 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                          if True then 2 else 0 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                              (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            ((if False then 1 else 0) +
                  ((if False then 1 else 0) +
                    ((if True then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                  if False then 2 else 0) ∧
              ((if False then 1 else 0) +
                    ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                    if False then 2 else 0) ∧
                ((if True then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                      if False then 2 else 0) ∧
                  (if False then 1 else 0) +
                      ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                      if True then 2 else 0 then
          1
        else 0) +
        ((((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                          if False then 2 else 0) ∧
                      (if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                          if True then 2 else 0 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                          if False then 2 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                          if True then 2 else 0 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 0 else 0) + if True then 2 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 0 else 0) + if False then 2 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h1022 :
  (-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0)))) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 0 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 0 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                          if False then 2 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if True then 2 else 0 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            ((if False then 1 else 0) +
                  ((if False then 1 else 0) +
                    ((if True then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                  if False then 2 else 0) ∧
              ((if False then 1 else 0) +
                    ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                    if False then 2 else 0) ∧
                ((if True then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                      if False then 2 else 0) ∧
                  (if False then 1 else 0) +
                      ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if True then 2 else 0 then
          1
        else 0) +
        ((((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                          if False then 2 else 0) ∧
                      (if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if True then 2 else 0 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                          if False then 2 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if True then 2 else 0 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h1112 :
  (-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0)))) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                                  (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 1 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 1 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                          if False then 2 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if True then 2 else 0 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                              (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            ((if False then 1 else 0) +
                  ((if False then 1 else 0) +
                    ((if True then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                  if False then 2 else 0) ∧
              ((if False then 1 else 0) +
                    ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                    if False then 2 else 0) ∧
                ((if True then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                      if False then 2 else 0) ∧
                  (if False then 1 else 0) +
                      ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if True then 2 else 0 then
          1
        else 0) +
        ((((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                          if False then 2 else 0) ∧
                      (if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if True then 2 else 0 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                          if False then 2 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if True then 2 else 0 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h1121 :
  (-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                    if False then 1 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if True then 1 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0)))) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                    if False then 1 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                                  (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if True then 1 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 1 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 1 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                    if False then 1 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if True then 1 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 1 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 1 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                          if False then 1 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if True then 1 else 0 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                              (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            ((if False then 1 else 0) +
                  ((if False then 1 else 0) +
                    ((if True then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) +
                    ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) +
                      ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                      if True then 1 else 0 then
          1
        else 0) +
        ((((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                          if False then 1 else 0) ∧
                      (if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                          if False then 1 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if True then 1 else 0 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 1 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 1 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 1 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 1 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 1 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 1 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 1 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
h1122 :
  (-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    (List.map
                        (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      (List.map
                          (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        (List.map
                            (fun x =>
                              Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          (List.map
                              (fun x =>
                                Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            (List.map
                                (fun x =>
                                  Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                                (List.finRange n_var)).sum
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0)) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  (List.map
                                      (fun x =>
                                        Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                          Polynomial.X ^ ↑x)
                                      (List.finRange n_var)).sum
                              else 0) +
                          -if
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                (List.map
                                    (fun x =>
                                      Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) *
                                        Polynomial.X ^ ↑x)
                                    (List.finRange n_var)).sum
                            else 0)))))) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0)))) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                                  (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                              (List.finRange n_var)).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                      else 0) +
                    ((-if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map
                                (fun x =>
                                  Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                    (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                                (List.finRange (n_var - 1))).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                        else 0) +
                      ((((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                      (List.finRange n_stmt)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0) +
                        (((-if
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                            -if
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if True then 1 else 0) +
                                                ((if False then 1 else 0) + if False then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if True then 2 else 0) +
                                            if False then 2 else 0) ∧
                                        (if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if False then 1 else 0) +
                                                ((if True then 1 else 0) + if True then 1 else 0))) =
                                          (((if False then 1 else 0) + if False then 1 else 0) +
                                              if False then 2 else 0) +
                                            if True then 2 else 0 then
                                (List.map
                                      (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                      (List.finRange n_wit)).sum *
                                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                              else 0) +
                          -if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0)) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0)) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
                            else 0))))))) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if False then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if True then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                            (List.finRange n_var)).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                    else 0) +
                  ((-if
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if True then 1 else 0) +
                                    ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                    if False then 2 else 0) ∧
                                (if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if True then 2 else 0 then
                        (List.map
                              (fun x =>
                                Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                  (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                              (List.finRange (n_var - 1))).sum *
                          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                      else 0) +
                    ((((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                    (List.finRange n_stmt)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0) +
                      (((-if
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                          -if
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if True then 1 else 0) +
                                              ((if False then 1 else 0) + if True then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                          if False then 2 else 0) ∧
                                      (if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if False then 1 else 0) +
                                              ((if True then 1 else 0) + if False then 1 else 0))) =
                                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                          if True then 2 else 0 then
                              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                    (List.finRange n_wit)).sum *
                                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                            else 0) +
                        -if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if True then 1 else 0) +
                                        ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) + if False then 1 else 0)) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
                          else 0))))))) +
        ((-if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                          if False then 2 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if True then 2 else 0 then
              Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α) *
                Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
            else 0) +
          ((-if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β) *
                  Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
              else 0) +
            ((-if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ) *
                    Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                else 0) +
              ((-if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                            (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    (List.map
                          (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                          (List.finRange n_var)).sum *
                      Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                  else 0) +
                ((-if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                              (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                            (fun x =>
                              Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                                (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                            (List.finRange (n_var - 1))).sum *
                        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                    else 0) +
                  ((((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                                  (List.finRange n_stmt)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                                (List.finRange n_stmt)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0) +
                    (((-if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                        -if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if True then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                                  (List.finRange n_wit)).sum *
                              Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                          else 0) +
                      -if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                                (List.finRange n_wit)).sum *
                            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
                        else 0))))))) +
      ((if
            ((if False then 1 else 0) +
                  ((if False then 1 else 0) +
                    ((if True then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                  if False then 2 else 0) ∧
              ((if False then 1 else 0) +
                    ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)))) =
                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                    if False then 2 else 0) ∧
                ((if True then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                      if False then 2 else 0) ∧
                  (if False then 1 else 0) +
                      ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)))) =
                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                      if True then 2 else 0 then
          1
        else 0) +
        ((((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * u_stmt x) (List.finRange n_stmt)).sum
              else 0) +
              if
                  ((if True then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                (List.map (fun x => Polynomial.C (stmt x) * v_stmt x) (List.finRange n_stmt)).sum
              else 0) +
            if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0)) =
                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                          if False then 2 else 0) ∧
                      (if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0)) =
                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if True then 2 else 0 then
              (List.map (fun x => Polynomial.C (stmt x) * w_stmt x) (List.finRange n_stmt)).sum
            else 0) +
          ((if
                ((if False then 1 else 0) +
                      ((if False then 1 else 0) +
                        ((if True then 1 else 0) +
                          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                    (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                      if False then 2 else 0) ∧
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if True then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                          if False then 2 else 0) ∧
                      (if False then 1 else 0) +
                          ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                        (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if True then 2 else 0 then
              Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
            else 0) +
            ((if
                  ((if False then 1 else 0) +
                        ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                      (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) +
                            ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                          (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if True then 2 else 0 then
                Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
              else 0) +
              ((if
                    ((if False then 1 else 0) +
                          ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                        (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                          (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if True then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                              if False then 2 else 0) ∧
                          (if False then 1 else 0) +
                              ((if True then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)))) =
                            (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if True then 2 else 0 then
                  Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
                else 0) +
                ((if
                      ((if False then 1 else 0) +
                            ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                          (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                            (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) +
                                ((if False then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) +
                                ((if True then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0))) =
                              (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                if True then 2 else 0 then
                    (List.map
                        (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                        (List.finRange n_var)).sum
                  else 0) +
                  ((if
                        ((if False then 1 else 0) +
                              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                            (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) +
                                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                              (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                if False then 2 else 0) ∧
                            ((if True then 1 else 0) +
                                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                  if False then 2 else 0) ∧
                              (if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if True then 2 else 0 then
                      (List.map
                          (fun x =>
                            Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                              (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                          (List.finRange (n_var - 1))).sum
                    else 0) +
                    ((((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                                (List.finRange n_stmt)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if True then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                              (List.finRange n_stmt)).sum
                        else 0) +
                      (((if
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                          if
                              ((if True then 1 else 0) +
                                    ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) + if False then 1 else 0))) =
                                  (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if False then 1 else 0) +
                                      ((if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) + if False then 1 else 0))) =
                                    (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  ((if False then 1 else 0) +
                                        ((if True then 1 else 0) +
                                          ((if True then 1 else 0) +
                                            ((if False then 1 else 0) + if False then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                        if False then 2 else 0) ∧
                                    (if False then 1 else 0) +
                                        ((if False then 1 else 0) +
                                          ((if False then 1 else 0) +
                                            ((if True then 1 else 0) + if True then 1 else 0))) =
                                      (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                        if True then 2 else 0 then
                            (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                                (List.finRange n_wit)).sum
                          else 0) +
                        if
                            ((if False then 1 else 0) +
                                  ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                (((if True then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) +
                                    ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                  (((if False then 1 else 0) + if True then 1 else 0) + if False then 2 else 0) +
                                    if False then 2 else 0) ∧
                                ((if True then 1 else 0) +
                                      ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if True then 2 else 0) +
                                      if False then 2 else 0) ∧
                                  (if False then 1 else 0) +
                                      ((if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0)) =
                                    (((if False then 1 else 0) + if False then 1 else 0) + if False then 2 else 0) +
                                      if True then 2 else 0 then
                          (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                              (List.finRange n_wit)).sum
                        else 0))))))))) =
    0
hA1011 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA0111 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA0012 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 2 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 2 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 2 else 0 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 2 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 2 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 2 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 2 else 0 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 2 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 2 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 2 else 0 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if True then 2 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 2 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 2 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 2 else 0 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 2 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 2 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 2 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 2 else 0 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 2 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 2 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 2 else 0 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 2 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 2 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA0011 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA0010 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 0 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 0 else 0 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 0 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 0 else 0 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                        if False then 0 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                          if False then 0 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if True then 0 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 0 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 0 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 0 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 0 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 0 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 0 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 0 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 0 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 0 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 0 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 0 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 0 else 0 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 0 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 0 else 0 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA0101 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA1001 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA0001 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA0110 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) + if False then 0 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                    if False then 0 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if True then 0 else 0 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                      if False then 0 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if True then 0 else 0 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                        if False then 0 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                          if False then 0 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if True then 0 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if False then 0 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                          if False then 0 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                            if False then 0 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if True then 0 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 0 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 0 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 0 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 0 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 0 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 0 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) + if False then 0 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                    if False then 0 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if True then 0 else 0 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                      if False then 0 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if True then 0 else 0 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA1010 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 0 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 0 else 0 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 0 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 0 else 0 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                        if False then 0 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                          if False then 0 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if True then 0 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 0 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 0 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 0 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 0 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 0 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 0 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 0 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 0 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 0 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 0 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 0 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 0 else 0 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 0 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 0 else 0 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hA0021 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.A (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.A SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.A (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB1011 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB0111 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB0012 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 2 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 2 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 2 else 0 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 2 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 2 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 2 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 2 else 0 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 2 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 2 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 2 else 0 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if True then 2 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 2 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 2 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 2 else 0 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 2 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 2 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 2 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 2 else 0 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 2 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 2 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 2 else 0 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 2 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 2 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB0011 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB0010 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 0 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 0 else 0 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 0 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 0 else 0 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                        if False then 0 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                          if False then 0 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if True then 0 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 0 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 0 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 0 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 0 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 0 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 0 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 0 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 0 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 0 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 0 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 0 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 0 else 0 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 0 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 0 else 0 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB0101 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB1001 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB0001 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB0110 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) + if False then 0 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                    if False then 0 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if True then 0 else 0 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                      if False then 0 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if True then 0 else 0 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                        if False then 0 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                          if False then 0 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if True then 0 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if False then 0 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                          if False then 0 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                            if False then 0 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if True then 0 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 0 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 0 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 0 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 0 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 0 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 0 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) + if False then 0 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                    if False then 0 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if True then 0 else 0 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                      if False then 0 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if True then 0 else 0 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB1010 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 0 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 0 else 0 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 0 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 0 else 0 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                        if False then 0 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                          if False then 0 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if True then 0 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 0 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 0 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 0 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 0 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 0 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 0 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 0 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 0 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 0 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 0 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 0 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 0 else 0 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 0 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 0 else 0 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hB0021 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.B (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.B SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.B (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC1011 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC0111 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC0012 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 2 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 2 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 2 else 0 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 2 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 2 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 2 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 2 else 0 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 2 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 2 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 2 else 0 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if True then 2 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 2 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 2 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 2 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 2 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 2 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 2 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 2 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 2 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 2 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 2 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 2 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 2 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 2 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 2 else 0 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 2 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 2 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 2 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 2 else 0 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 2 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 2 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 2 else 0 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 2 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 2 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 2 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 2 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC0011 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC0010 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 0 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 0 else 0 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 0 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 0 else 0 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                        if False then 0 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                          if False then 0 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if True then 0 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 0 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 0 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 0 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 0 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 0 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 0 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 0 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 0 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 0 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 0 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 0 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 0 else 0 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 0 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 0 else 0 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC0101 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC1001 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC0001 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 0 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 0 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 0 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC0110 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) + if False then 0 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                    if False then 0 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if True then 0 else 0 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                      if False then 0 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if True then 0 else 0 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                        if False then 0 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                          if False then 0 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                          if True then 0 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if False then 0 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                          if False then 0 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                            if False then 0 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if True then 0 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 0 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 0 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 0 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                            if False then 0 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                                if False then 0 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                                if True then 0 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) + if False then 0 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                    if False then 0 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if True then 0 else 0 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                      if False then 0 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                      if True then 0 else 0 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 1 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 1 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC1010 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 0 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 0 else 0 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 0 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 0 else 0 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                        if False then 0 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                          if False then 0 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                          if True then 0 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if False then 0 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                          if False then 0 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                            if False then 0 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if True then 0 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 0 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 0 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 0 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                                if False then 0 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                  if False then 0 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                  if True then 0 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                            if False then 0 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                              if False then 0 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                                if False then 0 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                                if True then 0 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) + if False then 0 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                    if False then 0 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if True then 0 else 0 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                  if False then 0 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                      if False then 0 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                      if True then 0 else 0 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                    if False then 0 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 1 else 0) + if True then 0 else 0) + if False then 1 else 0) +
                      if False then 0 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if True then 1 else 0) +
                        if False then 0 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 1 else 0) + if False then 0 else 0) + if False then 1 else 0) +
                        if True then 0 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
hC0021 :
  (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.α)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.β)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.1 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          ((if
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  (((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    (((if True then 1 else 0) + if False then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if False then 1 else 0) + if True then 1 else 0) =
                        (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                          if True then 1 else 0 then
              (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                  (List.finRange n_var)).sum
            else 0) +
            ((if
                  ((if False then 1 else 0) =
                      (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) =
                        (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                          if False then 1 else 0) ∧
                      ((if True then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                            if False then 1 else 0) ∧
                        (if False then 1 else 0) =
                          (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if True then 1 else 0 then
                (List.map
                    (fun x =>
                      Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) *
                        (Polynomial.X ^ ↑x * ∏ i : Fin n_wit, (Polynomial.X - Polynomial.C (r i))))
                    (List.finRange (n_var - 1))).sum
              else 0) +
              ((((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * u_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * v_stmt x)
                          (List.finRange n_stmt)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.y x)) * w_stmt x)
                        (List.finRange n_stmt)).sum
                  else 0) +
                (((if
                        (((if False then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          (((if True then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * u_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                    if
                        (((if True then 1 else 0) + if False then 1 else 0) =
                            (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          (((if False then 1 else 0) + if False then 1 else 0) =
                              (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                                if False then 1 else 0) ∧
                            (((if False then 1 else 0) + if True then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                  if False then 1 else 0) ∧
                              ((if False then 1 else 0) + if False then 1 else 0) =
                                (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                  if True then 1 else 0 then
                      (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * v_wit x)
                          (List.finRange n_wit)).sum
                    else 0) +
                  if
                      ((if False then 1 else 0) =
                          (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                            if False then 1 else 0) ∧
                        ((if False then 1 else 0) =
                            (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                              if False then 1 else 0) ∧
                          ((if True then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                                if False then 1 else 0) ∧
                            (if False then 1 else 0) =
                              (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                                if True then 1 else 0 then
                    (List.map (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q x)) * w_wit x)
                        (List.finRange n_wit)).sum
                  else 0)))))) =
    (if
          ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
              (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) + if False then 1 else 0) ∧
            ((if False then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                  if False then 1 else 0) ∧
              ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                    if False then 1 else 0) ∧
                (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                    if True then 1 else 0 then
        Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.β)
      else 0) +
      ((if
            ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                  if False then 1 else 0) ∧
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                    if False then 1 else 0) ∧
                ((if True then 1 else 0) + ((if False then 1 else 0) + if True then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                      if False then 1 else 0) ∧
                  (if False then 1 else 0) + ((if True then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                      if True then 1 else 0 then
          Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.γ)
        else 0) +
        ((if
              ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                    if False then 1 else 0) ∧
                ((if False then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  ((if True then 1 else 0) + ((if False then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                        if False then 1 else 0) ∧
                    (if False then 1 else 0) + ((if True then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if True then 1 else 0 then
            Polynomial.C (prover.2 Proof_Idx.C SRS_Elements_Idx.δ)
          else 0) +
          if
              (((if False then 1 else 0) + if False then 1 else 0) =
                  (((if True then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                    if False then 1 else 0) ∧
                (((if False then 1 else 0) + if False then 1 else 0) =
                    (((if False then 0 else 0) + if True then 0 else 0) + if False then 2 else 0) +
                      if False then 1 else 0) ∧
                  (((if True then 1 else 0) + if False then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if True then 2 else 0) +
                        if False then 1 else 0) ∧
                    ((if False then 1 else 0) + if True then 1 else 0) =
                      (((if False then 0 else 0) + if False then 0 else 0) + if False then 2 else 0) +
                        if True then 1 else 0 then
            (List.map (fun x => Polynomial.C (prover.2 Proof_Idx.C (SRS_Elements_Idx.x_pow x)) * Polynomial.X ^ ↑x)
                (List.finRange n_var)).sum
          else 0))
⊢ ((List.map (fun i => Polynomial.C (stmt i) * u_stmt i) (List.finRange n_stmt)).sum +
        (List.map (fun i => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q i)) * u_wit i)
            (List.finRange n_wit)).sum) *
      ((List.map (fun i => Polynomial.C (stmt i) * v_stmt i) (List.finRange n_stmt)).sum +
        (List.map (fun i => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q i)) * v_wit i)
            (List.finRange n_wit)).sum) =
    (List.map (fun i => Polynomial.C (stmt i) * w_stmt i) (List.finRange n_stmt)).sum +
        (List.map (fun i => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.q i)) * w_wit i)
            (List.finRange n_wit)).sum +
      (List.map
          (fun x => Polynomial.C (prover.1 Proof_Idx.C (SRS_Elements_Idx.x_pow_times_t x)) * (Polynomial.X ^ ↑x * t))
          (List.finRange (n_var - 1))).sum