25 auto a_idx =
builder.add_variable(
a);
26 auto b_idx =
builder.add_variable(
b);
27 auto c_idx =
builder.add_variable(
b);
28 auto d_idx =
builder.add_variable(
a);
33 auto first_tag =
builder.get_new_tag();
34 auto second_tag =
builder.get_new_tag();
35 builder.set_tau_transposition(first_tag, second_tag);
37 builder.assign_tag(a_idx, first_tag);
38 builder.assign_tag(b_idx, first_tag);
39 builder.assign_tag(c_idx, second_tag);
40 builder.assign_tag(d_idx, second_tag);
45 builder.real_variable_tags[
builder.real_variable_index[a_idx]] = 2;
55 auto a_idx =
builder.add_variable(
a);
56 auto b_idx =
builder.add_variable(
a);
57 builder.assert_equal(a_idx, b_idx);
58 auto c_idx =
builder.add_variable(c);
59 auto d_idx =
builder.add_variable(c);
60 builder.assert_equal(c_idx, d_idx);
61 auto e_idx =
builder.add_variable(
a);
62 auto f_idx =
builder.add_variable(
a);
63 builder.assert_equal(e_idx, f_idx);
64 auto g_idx =
builder.add_variable(c);
65 auto h_idx =
builder.add_variable(c);
66 builder.assert_equal(g_idx, h_idx);
68 auto first_tag =
builder.get_new_tag();
69 auto second_tag =
builder.get_new_tag();
70 builder.set_tau_transposition(first_tag, second_tag);
72 builder.assign_tag(a_idx, first_tag);
73 builder.assign_tag(c_idx, first_tag);
74 builder.assign_tag(e_idx, second_tag);
75 builder.assign_tag(g_idx, second_tag);
84 builder.real_variable_tags[
builder.real_variable_index[a_idx]] = 2;
94 auto a_idx =
builder.add_variable(
a);
95 auto b_idx =
builder.add_variable(
b);
96 auto c_idx =
builder.add_variable(
b);
97 auto d_idx =
builder.add_variable(
a + 1);
99 builder.create_add_gate({ a_idx, b_idx,
builder.zero_idx(), 1, 1, 0, 0 });
100 builder.create_add_gate({ c_idx, d_idx,
builder.zero_idx(), 1, 1, 0, -1 });
104 auto first_tag =
builder.get_new_tag();
105 auto second_tag =
builder.get_new_tag();
106 builder.set_tau_transposition(first_tag, second_tag);
108 builder.assign_tag(a_idx, first_tag);
109 builder.assign_tag(b_idx, first_tag);
110 builder.assign_tag(c_idx, second_tag);
111 builder.assign_tag(d_idx, second_tag);
147 auto b_idx =
builder.add_variable(
b);
148 auto c_idx =
builder.add_variable(c);
149 auto d_idx =
builder.add_variable(d);
150 auto e_idx =
builder.add_variable(e);
151 auto f_idx =
builder.add_variable(f);
152 auto g_idx =
builder.add_variable(g);
153 auto h_idx =
builder.add_variable(h);
154 builder.create_sort_constraint_with_edges({ a_idx, b_idx, c_idx, d_idx, e_idx, f_idx, g_idx, h_idx },
a, h);
161 auto b_idx =
builder.add_variable(
b);
162 auto c_idx =
builder.add_variable(c);
163 auto d_idx =
builder.add_variable(d);
164 auto e_idx =
builder.add_variable(e);
165 auto f_idx =
builder.add_variable(f);
166 auto g_idx =
builder.add_variable(g);
167 auto h_idx =
builder.add_variable(h);
168 builder.create_sort_constraint_with_edges({ a_idx, b_idx, c_idx, d_idx, e_idx, f_idx, g_idx, h_idx },
a, g);
175 auto b_idx =
builder.add_variable(
b);
176 auto c_idx =
builder.add_variable(c);
177 auto d_idx =
builder.add_variable(d);
178 auto e_idx =
builder.add_variable(e);
179 auto f_idx =
builder.add_variable(f);
180 auto g_idx =
builder.add_variable(g);
181 auto h_idx =
builder.add_variable(h);
182 builder.create_sort_constraint_with_edges({ a_idx, b_idx, c_idx, d_idx, e_idx, f_idx, g_idx, h_idx },
b, h);
189 auto c_idx =
builder.add_variable(c);
190 auto d_idx =
builder.add_variable(d);
191 auto e_idx =
builder.add_variable(e);
192 auto f_idx =
builder.add_variable(f);
193 auto g_idx =
builder.add_variable(g);
194 auto h_idx =
builder.add_variable(h);
195 auto b2_idx =
builder.add_variable(
fr(15));
196 builder.create_sort_constraint_with_edges({ a_idx, b2_idx, c_idx, d_idx, e_idx, f_idx, g_idx, h_idx },
b, h);
201 auto idx = add_variables(
builder, { 1, 2, 5, 6, 7, 10, 11, 13, 16, 17, 20, 22, 22, 25,
202 26, 29, 29, 32, 32, 33, 35, 38, 39, 39, 42, 42, 43, 45 });
203 builder.create_sort_constraint_with_edges(idx, 1, 45);
208 auto idx = add_variables(
builder, { 1, 2, 5, 6, 7, 10, 11, 13, 16, 17, 20, 22, 22, 25,
209 26, 29, 29, 32, 32, 33, 35, 38, 39, 39, 42, 42, 43, 45 });
211 builder.create_sort_constraint_with_edges(idx, 1, 29);
221 std::vector<fr>
a = { 1, 3, 4, 7, 7, 8, 11, 14, 15, 15, 18, 19, 21, 21, 24, 25, 26, 27, 30, 32 };
222 std::vector<uint32_t> ind;
223 for (
size_t i = 0; i <
a.size(); i++)
224 ind.emplace_back(
builder.add_variable(
a[i]));
225 builder.create_sort_constraint(ind);
232 std::vector<fr>
a = { 1, 3, 4, 7, 7, 8, 16, 14, 15, 15, 18, 19, 21, 21, 24, 25, 26, 27, 30, 32 };
233 std::vector<uint32_t> ind;
234 for (
size_t i = 0; i <
a.size(); i++)
235 ind.emplace_back(
builder.add_variable(
a[i]));
236 builder.create_sort_constraint(ind);