@@ -34,7 +34,7 @@ void unwind(
3434 messaget &message,
3535 cnft &solver,
3636 bool add_initial_state,
37- unsigned t)
37+ std:: size_t t)
3838{
3939 bool first=(t==0 );
4040 bool last=(t==bmc_map.timeframe_map .size ()-1 );
@@ -123,7 +123,7 @@ void unwind(
123123 cnft &solver,
124124 bool add_initial_state)
125125{
126- for (unsigned t= 0 ; t< bmc_map.timeframe_map .size (); t++)
126+ for (std:: size_t t = 0 ; t < bmc_map.timeframe_map .size (); t++)
127127 unwind (netlist, bmc_map, message, solver, add_initial_state, t);
128128}
129129
@@ -140,15 +140,16 @@ Function: unwind_property
140140\*******************************************************************/
141141
142142void unwind_property (
143+ const netlistt::propertyt &property,
143144 const bmc_mapt &bmc_map,
144- literalt property_node,
145145 bvt &prop_bv)
146146{
147+ PRECONDITION (std::holds_alternative<netlistt::Gpt>(property));
148+ auto property_node = std::get<netlistt::Gpt>(property).p ;
149+
147150 prop_bv.resize (bmc_map.timeframe_map .size ());
148151
149- for (unsigned t=0 ;
150- t<bmc_map.timeframe_map .size ();
151- t++)
152+ for (std::size_t t = 0 ; t < bmc_map.timeframe_map .size (); t++)
152153 {
153154 literalt l=bmc_map.translate (t, property_node);
154155 prop_bv[t]=l;
@@ -157,51 +158,6 @@ void unwind_property(
157158
158159/* ******************************************************************\
159160
160- Function: unwind_property
161-
162- Inputs:
163-
164- Outputs:
165-
166- Purpose:
167-
168- \*******************************************************************/
169-
170- void unwind_property (
171- const exprt &property_expr,
172- bvt &prop_bv,
173- message_handlert &message_handler,
174- propt &solver,
175- const bmc_mapt &map,
176- const namespacet &ns)
177- {
178- if (property_expr.is_true ())
179- {
180- prop_bv.resize (map.get_no_timeframes (), const_literal (true ));
181- return ;
182- }
183-
184- // We want AG p.
185- auto &p = [](const exprt &expr) -> const exprt & {
186- if (expr.id () == ID_AG)
187- return to_AG_expr (expr).op ();
188- else if (expr.id () == ID_G)
189- return to_G_expr (expr).op ();
190- else if (expr.id () == ID_sva_always)
191- return to_sva_always_expr (expr).op ();
192- else
193- PRECONDITION (false );
194- }(property_expr);
195-
196- for (unsigned c=0 ; c<map.get_no_timeframes (); c++)
197- {
198- literalt l=instantiate_convert (solver, map, p, c, c+1 , ns, message_handler);
199- prop_bv.push_back (l);
200- }
201- }
202-
203- /* ******************************************************************\
204-
205161Function: netlist_bmc_supports_property
206162
207163 Inputs:
0 commit comments