@@ -380,53 +380,14 @@ void ConjectureGenerator::check(Theory::Effort e, QEffort quant_e)
380
380
d_hasAddedLemma = false ;
381
381
d_tge.d_cg = this ;
382
382
beginCallDebug ();
383
- eq::EqualityEngine* ee = getEqualityEngine ();
384
383
d_conj_count = 0 ;
385
384
std::vector<TNode> eqcs;
386
385
getEquivalenceClasses (eqcs);
387
386
computeIrrelevantEqcs (eqcs);
388
-
389
387
// debug printing
390
- if ( TraceIsOn (" sg-gen-eqc" ) ){
391
- for ( unsigned i=0 ; i<eqcs.size (); i++ ){
392
- TNode r = eqcs[i];
393
- // print out members
394
- bool firstTime = true ;
395
- bool isFalse = areEqual (r, d_false);
396
- eq::EqClassIterator eqc_i = eq::EqClassIterator ( r, ee );
397
- while ( !eqc_i.isFinished () ){
398
- TNode n = (*eqc_i);
399
- if (getTermDatabase ()->hasTermCurrent (n)
400
- && getTermDatabase ()->isTermActive (n)
401
- && (n.getKind () != Kind::EQUAL || isFalse))
402
- {
403
- if ( firstTime ){
404
- Trace (" sg-gen-eqc" ) << " e" << d_em[r] << " : { " << std::endl;
405
- firstTime = false ;
406
- }
407
- if ( n.hasOperator () ){
408
- Trace (" sg-gen-eqc" ) << " (" << n.getOperator ();
409
- for (const Node& nc : n)
410
- {
411
- TNode ar = d_qstate.getRepresentative (nc);
412
- Trace (" sg-gen-eqc" ) << " e" << d_em[ar];
413
- }
414
- Trace (" sg-gen-eqc" ) << " ) :: " << n << std::endl;
415
- }else {
416
- Trace (" sg-gen-eqc" ) << " " << n << std::endl;
417
- }
418
- }
419
- ++eqc_i;
420
- }
421
- if ( !firstTime ){
422
- Trace (" sg-gen-eqc" ) << " }" << std::endl;
423
- // print out ground term
424
- std::map< TNode, Node >::iterator it = d_ground_eqc_map.find ( r );
425
- if ( it!=d_ground_eqc_map.end () ){
426
- Trace (" sg-gen-eqc" ) << " - Ground term : " << it->second << std::endl;
427
- }
428
- }
429
- }
388
+ if ( TraceIsOn (" sg-gen-eqc" ) )
389
+ {
390
+ debugPrintIrrelevantEqcs (eqcs);
430
391
}
431
392
432
393
Trace (" sg-proc" ) << " Compute relevant eqc..." << std::endl;
@@ -914,6 +875,59 @@ void ConjectureGenerator::computeIrrelevantEqcs(const std::vector<TNode>& eqcs)
914
875
Trace (" sg-proc" ) << " ...done determine ground EQC" << std::endl;
915
876
}
916
877
878
+ void ConjectureGenerator::debugPrintIrrelevantEqcs (
879
+ const std::vector<TNode>& eqcs)
880
+ {
881
+ eq::EqualityEngine* ee = getEqualityEngine ();
882
+ for (unsigned i = 0 ; i < eqcs.size (); i++)
883
+ {
884
+ TNode r = eqcs[i];
885
+ // print out members
886
+ bool firstTime = true ;
887
+ bool isFalse = areEqual (r, d_false);
888
+ eq::EqClassIterator eqc_i = eq::EqClassIterator (r, ee);
889
+ while (!eqc_i.isFinished ())
890
+ {
891
+ TNode n = (*eqc_i);
892
+ if (getTermDatabase ()->hasTermCurrent (n)
893
+ && getTermDatabase ()->isTermActive (n)
894
+ && (n.getKind () != Kind::EQUAL || isFalse))
895
+ {
896
+ if (firstTime)
897
+ {
898
+ Trace (" sg-gen-eqc" ) << " e" << d_em[r] << " : { " << std::endl;
899
+ firstTime = false ;
900
+ }
901
+ if (n.hasOperator ())
902
+ {
903
+ Trace (" sg-gen-eqc" ) << " (" << n.getOperator ();
904
+ for (const Node& nc : n)
905
+ {
906
+ TNode ar = d_qstate.getRepresentative (nc);
907
+ Trace (" sg-gen-eqc" ) << " e" << d_em[ar];
908
+ }
909
+ Trace (" sg-gen-eqc" ) << " ) :: " << n << std::endl;
910
+ }
911
+ else
912
+ {
913
+ Trace (" sg-gen-eqc" ) << " " << n << std::endl;
914
+ }
915
+ }
916
+ ++eqc_i;
917
+ }
918
+ if (!firstTime)
919
+ {
920
+ Trace (" sg-gen-eqc" ) << " }" << std::endl;
921
+ // print out ground term
922
+ std::map<TNode, Node>::iterator it = d_ground_eqc_map.find (r);
923
+ if (it != d_ground_eqc_map.end ())
924
+ {
925
+ Trace (" sg-gen-eqc" ) << " - Ground term : " << it->second << std::endl;
926
+ }
927
+ }
928
+ }
929
+ }
930
+
917
931
std::string ConjectureGenerator::identify () const { return " induction-cg" ; }
918
932
919
933
unsigned ConjectureGenerator::flushWaitingConjectures ( unsigned & addedLemmas, int ldepth, int rdepth ) {
0 commit comments