@@ -139,8 +139,19 @@ mod instance_validation {
139139 let X = G :: generator ( ) * Scalar :: from ( 4 ) ;
140140 let pub_scalar = Scalar :: from ( 42 ) ;
141141
142+ // The following relation has no equation and should trigger a fail.
142143 let mut linear_relation = LinearRelation :: < G > :: new ( ) ;
144+ let B_var = linear_relation. allocate_element ( ) ;
145+ let A_var = linear_relation. allocate_element ( ) ;
146+
147+ linear_relation. set_element ( B_var , B ) ;
148+ linear_relation. set_element ( A_var , A ) ;
149+ let result = CanonicalLinearRelation :: try_from ( & linear_relation) ;
150+ assert ! ( result. is_err( ) ) ;
143151
152+ // The following relation does not have a witness and should trigger a fail.
153+ // X = B * pub_scalar + A * 3
154+ let mut linear_relation = LinearRelation :: < G > :: new ( ) ;
144155 let B_var = linear_relation. allocate_element ( ) ;
145156 let A_var = linear_relation. allocate_element ( ) ;
146157 let X_var = linear_relation. allocate_eq ( B_var * pub_scalar + A_var * Scalar :: from ( 3 ) ) ;
@@ -149,12 +160,13 @@ mod instance_validation {
149160 linear_relation. set_element ( A_var , A ) ;
150161 linear_relation. set_element ( X_var , X ) ;
151162
152- linear_relation. set_element ( B_var , B ) ;
153- linear_relation. set_element ( A_var , A ) ;
154163 let result = CanonicalLinearRelation :: try_from ( & linear_relation) ;
155164 assert ! ( result. is_err( ) ) ;
156165
157166
167+ // The following relation is for
168+ // X = B * x + B * pub_scalar + A * 3
169+ // and should be considered a valid instance.
158170 let mut linear_relation = LinearRelation :: < G > :: new ( ) ;
159171
160172 let x_var = linear_relation. allocate_scalar ( ) ;
@@ -166,11 +178,8 @@ mod instance_validation {
166178 linear_relation. set_element ( A_var , A ) ;
167179 linear_relation. set_element ( X_var , X ) ;
168180
169- linear_relation. set_element ( B_var , B ) ;
170- linear_relation. set_element ( A_var , A ) ;
171181 let result = CanonicalLinearRelation :: try_from ( & linear_relation) ;
172182 assert ! ( result. is_ok( ) ) ;
173-
174183 }
175184}
176185
0 commit comments