1 #-----------------------------------------------------------------------------#
2 # Collect libcvc4 source files
8 context/backtrackable.h
11 context/cdhashmap_forward.h
13 context/cdhashset_forward.h
14 context/cdinsert_hashmap.h
15 context/cdinsert_hashmap_forward.h
17 context/cdlist_forward.h
21 context/cdtrail_queue.h
24 context/context_mm.cpp
26 decision/decision_attributes.h
27 decision/decision_engine.cpp
28 decision/decision_engine.h
29 decision/decision_strategy.h
30 decision/justification_heuristic.cpp
31 decision/justification_heuristic.h
39 preprocessing/assertion_pipeline.cpp
40 preprocessing/assertion_pipeline.h
41 preprocessing/passes/ackermann.cpp
42 preprocessing/passes/ackermann.h
43 preprocessing/passes/apply_substs.cpp
44 preprocessing/passes/apply_substs.h
45 preprocessing/passes/bool_to_bv.cpp
46 preprocessing/passes/bool_to_bv.h
47 preprocessing/passes/bv_abstraction.cpp
48 preprocessing/passes/bv_abstraction.h
49 preprocessing/passes/bv_eager_atoms.cpp
50 preprocessing/passes/bv_eager_atoms.h
51 preprocessing/passes/bv_gauss.cpp
52 preprocessing/passes/bv_gauss.h
53 preprocessing/passes/bv_intro_pow2.cpp
54 preprocessing/passes/bv_intro_pow2.h
55 preprocessing/passes/bv_to_bool.cpp
56 preprocessing/passes/bv_to_bool.h
57 preprocessing/passes/bv_to_int.cpp
58 preprocessing/passes/bv_to_int.h
59 preprocessing/passes/extended_rewriter_pass.cpp
60 preprocessing/passes/extended_rewriter_pass.h
61 preprocessing/passes/global_negate.cpp
62 preprocessing/passes/global_negate.h
63 preprocessing/passes/ho_elim.cpp
64 preprocessing/passes/ho_elim.h
65 preprocessing/passes/int_to_bv.cpp
66 preprocessing/passes/int_to_bv.h
67 preprocessing/passes/ite_removal.cpp
68 preprocessing/passes/ite_removal.h
69 preprocessing/passes/ite_simp.cpp
70 preprocessing/passes/ite_simp.h
71 preprocessing/passes/miplib_trick.cpp
72 preprocessing/passes/miplib_trick.h
73 preprocessing/passes/nl_ext_purify.cpp
74 preprocessing/passes/nl_ext_purify.h
75 preprocessing/passes/non_clausal_simp.cpp
76 preprocessing/passes/non_clausal_simp.h
77 preprocessing/passes/pseudo_boolean_processor.cpp
78 preprocessing/passes/pseudo_boolean_processor.h
79 preprocessing/passes/quantifier_macros.cpp
80 preprocessing/passes/quantifier_macros.h
81 preprocessing/passes/quantifiers_preprocess.cpp
82 preprocessing/passes/quantifiers_preprocess.h
83 preprocessing/passes/real_to_int.cpp
84 preprocessing/passes/real_to_int.h
85 preprocessing/passes/rewrite.cpp
86 preprocessing/passes/rewrite.h
87 preprocessing/passes/sep_skolem_emp.cpp
88 preprocessing/passes/sep_skolem_emp.h
89 preprocessing/passes/sort_infer.cpp
90 preprocessing/passes/sort_infer.h
91 preprocessing/passes/static_learning.cpp
92 preprocessing/passes/static_learning.h
93 preprocessing/passes/sygus_inference.cpp
94 preprocessing/passes/sygus_inference.h
95 preprocessing/passes/synth_rew_rules.cpp
96 preprocessing/passes/synth_rew_rules.h
97 preprocessing/passes/theory_preprocess.cpp
98 preprocessing/passes/theory_preprocess.h
99 preprocessing/passes/unconstrained_simplifier.cpp
100 preprocessing/passes/unconstrained_simplifier.h
101 preprocessing/preprocessing_pass.cpp
102 preprocessing/preprocessing_pass.h
103 preprocessing/preprocessing_pass_context.cpp
104 preprocessing/preprocessing_pass_context.h
105 preprocessing/preprocessing_pass_registry.cpp
106 preprocessing/preprocessing_pass_registry.h
107 preprocessing/util/ite_utilities.cpp
108 preprocessing/util/ite_utilities.h
109 printer/ast/ast_printer.cpp
110 printer/ast/ast_printer.h
111 printer/cvc/cvc_printer.cpp
112 printer/cvc/cvc_printer.h
113 printer/dagification_visitor.cpp
114 printer/dagification_visitor.h
117 printer/smt2/smt2_printer.cpp
118 printer/smt2/smt2_printer.h
119 printer/tptp/tptp_printer.cpp
120 printer/tptp/tptp_printer.h
121 proof/arith_proof.cpp
123 proof/arith_proof_recorder.cpp
124 proof/arith_proof_recorder.h
125 proof/array_proof.cpp
127 proof/bitvector_proof.cpp
128 proof/bitvector_proof.h
129 proof/clausal_bitvector_proof.cpp
130 proof/clausal_bitvector_proof.h
136 proof/drat/drat_proof.cpp
137 proof/drat/drat_proof.h
138 proof/er/er_proof.cpp
140 proof/lemma_proof.cpp
142 proof/lfsc_proof_printer.cpp
143 proof/lfsc_proof_printer.h
144 proof/lrat/lrat_proof.cpp
145 proof/lrat/lrat_proof.h
147 proof/proof_manager.cpp
148 proof/proof_manager.h
149 proof/proof_output_channel.cpp
150 proof/proof_output_channel.h
151 proof/proof_utils.cpp
153 proof/resolution_bitvector_proof.cpp
154 proof/resolution_bitvector_proof.h
156 proof/sat_proof_implementation.h
157 proof/simplify_boolean_node.cpp
158 proof/simplify_boolean_node.h
159 proof/skolemization_manager.cpp
160 proof/skolemization_manager.h
161 proof/theory_proof.cpp
167 prop/bvminisat/bvminisat.cpp
168 prop/bvminisat/bvminisat.h
169 prop/bvminisat/core/Dimacs.h
170 prop/bvminisat/core/Solver.cc
171 prop/bvminisat/core/Solver.h
172 prop/bvminisat/core/SolverTypes.h
173 prop/bvminisat/mtl/Alg.h
174 prop/bvminisat/mtl/Alloc.h
175 prop/bvminisat/mtl/Heap.h
176 prop/bvminisat/mtl/IntTypes.h
177 prop/bvminisat/mtl/Map.h
178 prop/bvminisat/mtl/Queue.h
179 prop/bvminisat/mtl/Sort.h
180 prop/bvminisat/mtl/Vec.h
181 prop/bvminisat/mtl/XAlloc.h
182 prop/bvminisat/simp/SimpSolver.cc
183 prop/bvminisat/simp/SimpSolver.h
184 prop/bvminisat/utils/Options.h
189 prop/cryptominisat.cpp
193 prop/minisat/core/Dimacs.h
194 prop/minisat/core/Solver.cc
195 prop/minisat/core/Solver.h
196 prop/minisat/core/SolverTypes.h
197 prop/minisat/minisat.cpp
198 prop/minisat/minisat.h
199 prop/minisat/mtl/Alg.h
200 prop/minisat/mtl/Alloc.h
201 prop/minisat/mtl/Heap.h
202 prop/minisat/mtl/IntTypes.h
203 prop/minisat/mtl/Map.h
204 prop/minisat/mtl/Queue.h
205 prop/minisat/mtl/Sort.h
206 prop/minisat/mtl/Vec.h
207 prop/minisat/mtl/XAlloc.h
208 prop/minisat/simp/SimpSolver.cc
209 prop/minisat/simp/SimpSolver.h
210 prop/minisat/utils/Options.h
215 prop/sat_solver_factory.cpp
216 prop/sat_solver_factory.h
217 prop/bv_sat_solver_notify.h
218 prop/sat_solver_types.cpp
219 prop/sat_solver_types.h
220 prop/theory_proxy.cpp
222 smt/abduction_solver.cpp
223 smt/abduction_solver.h
224 smt/abstract_values.cpp
225 smt/abstract_values.h
230 smt/defined_function.h
239 smt/logic_exception.h
240 smt/logic_request.cpp
242 smt/managed_ostreams.cpp
243 smt/managed_ostreams.h
246 smt/model_core_builder.cpp
247 smt/model_core_builder.h
248 smt/model_blocker.cpp
250 smt/options_manager.cpp
251 smt/options_manager.h
252 smt/quant_elim_solver.cpp
253 smt/quant_elim_solver.h
256 smt/preprocess_proof_generator.cpp
257 smt/preprocess_proof_generator.h
258 smt/process_assertions.cpp
259 smt/process_assertions.h
264 smt/smt_engine_scope.cpp
265 smt/smt_engine_scope.h
266 smt/smt_engine_state.cpp
267 smt/smt_engine_state.h
268 smt/smt_engine_stats.cpp
269 smt/smt_engine_stats.h
274 smt/smt_statistics_registry.cpp
275 smt/smt_statistics_registry.h
278 smt/term_formula_removal.cpp
279 smt/term_formula_removal.h
283 smt_util/boolean_simplification.cpp
284 smt_util/boolean_simplification.h
285 smt_util/nary_builder.cpp
286 smt_util/nary_builder.h
287 theory/arith/approx_simplex.cpp
288 theory/arith/approx_simplex.h
289 theory/arith/arith_ite_utils.cpp
290 theory/arith/arith_ite_utils.h
291 theory/arith/arith_msum.cpp
292 theory/arith/arith_msum.h
293 theory/arith/arith_rewriter.cpp
294 theory/arith/arith_rewriter.h
295 theory/arith/arith_state.cpp
296 theory/arith/arith_state.h
297 theory/arith/arith_static_learner.cpp
298 theory/arith/arith_static_learner.h
299 theory/arith/arith_utilities.cpp
300 theory/arith/arith_utilities.h
301 theory/arith/arithvar.cpp
302 theory/arith/arithvar.h
303 theory/arith/attempt_solution_simplex.cpp
304 theory/arith/attempt_solution_simplex.h
305 theory/arith/bound_counts.h
306 theory/arith/callbacks.cpp
307 theory/arith/callbacks.h
308 theory/arith/congruence_manager.cpp
309 theory/arith/congruence_manager.h
310 theory/arith/constraint.cpp
311 theory/arith/constraint.h
312 theory/arith/constraint_forward.h
313 theory/arith/cut_log.cpp
314 theory/arith/cut_log.h
315 theory/arith/delta_rational.cpp
316 theory/arith/delta_rational.h
317 theory/arith/dio_solver.cpp
318 theory/arith/dio_solver.h
319 theory/arith/dual_simplex.cpp
320 theory/arith/dual_simplex.h
321 theory/arith/error_set.cpp
322 theory/arith/error_set.h
323 theory/arith/fc_simplex.cpp
324 theory/arith/fc_simplex.h
325 theory/arith/infer_bounds.cpp
326 theory/arith/infer_bounds.h
327 theory/arith/linear_equality.cpp
328 theory/arith/linear_equality.h
329 theory/arith/matrix.cpp
330 theory/arith/matrix.h
331 theory/arith/nl/cad_solver.cpp
332 theory/arith/nl/cad_solver.h
333 theory/arith/nl/cad/cdcac.cpp
334 theory/arith/nl/cad/cdcac.h
335 theory/arith/nl/cad/cdcac_utils.cpp
336 theory/arith/nl/cad/cdcac_utils.h
337 theory/arith/nl/cad/constraints.cpp
338 theory/arith/nl/cad/constraints.h
339 theory/arith/nl/cad/projections.cpp
340 theory/arith/nl/cad/projections.h
341 theory/arith/nl/cad/variable_ordering.cpp
342 theory/arith/nl/cad/variable_ordering.h
343 theory/arith/nl/iand_solver.cpp
344 theory/arith/nl/iand_solver.h
345 theory/arith/nl/inference.cpp
346 theory/arith/nl/inference.h
347 theory/arith/nl/nl_constraint.cpp
348 theory/arith/nl/nl_constraint.h
349 theory/arith/nl/nl_lemma_utils.cpp
350 theory/arith/nl/nl_lemma_utils.h
351 theory/arith/nl/nl_model.cpp
352 theory/arith/nl/nl_model.h
353 theory/arith/nl/nl_monomial.cpp
354 theory/arith/nl/nl_monomial.h
355 theory/arith/nl/nl_solver.cpp
356 theory/arith/nl/nl_solver.h
357 theory/arith/nl/nonlinear_extension.cpp
358 theory/arith/nl/nonlinear_extension.h
359 theory/arith/nl/poly_conversion.cpp
360 theory/arith/nl/poly_conversion.h
361 theory/arith/nl/stats.cpp
362 theory/arith/nl/stats.h
363 theory/arith/nl/transcendental_solver.cpp
364 theory/arith/nl/transcendental_solver.h
365 theory/arith/normal_form.cpp
366 theory/arith/normal_form.h
367 theory/arith/operator_elim.cpp
368 theory/arith/operator_elim.h
369 theory/arith/partial_model.cpp
370 theory/arith/partial_model.h
371 theory/arith/simplex.cpp
372 theory/arith/simplex.h
373 theory/arith/simplex_update.cpp
374 theory/arith/simplex_update.h
375 theory/arith/soi_simplex.cpp
376 theory/arith/soi_simplex.h
377 theory/arith/tableau.cpp
378 theory/arith/tableau.h
379 theory/arith/tableau_sizes.cpp
380 theory/arith/tableau_sizes.h
381 theory/arith/theory_arith.cpp
382 theory/arith/theory_arith.h
383 theory/arith/theory_arith_private.cpp
384 theory/arith/theory_arith_private.h
385 theory/arith/theory_arith_private_forward.h
386 theory/arith/theory_arith_type_rules.h
387 theory/arith/type_enumerator.h
388 theory/arrays/array_info.cpp
389 theory/arrays/array_info.h
390 theory/arrays/array_proof_reconstruction.cpp
391 theory/arrays/array_proof_reconstruction.h
392 theory/arrays/static_fact_manager.cpp
393 theory/arrays/static_fact_manager.h
394 theory/arrays/theory_arrays.cpp
395 theory/arrays/theory_arrays.h
396 theory/arrays/theory_arrays_rewriter.cpp
397 theory/arrays/theory_arrays_rewriter.h
398 theory/arrays/theory_arrays_type_rules.h
399 theory/arrays/type_enumerator.h
400 theory/arrays/union_find.cpp
401 theory/arrays/union_find.h
404 theory/atom_requests.cpp
405 theory/atom_requests.h
406 theory/booleans/circuit_propagator.cpp
407 theory/booleans/circuit_propagator.h
408 theory/booleans/proof_checker.cpp
409 theory/booleans/proof_checker.h
410 theory/booleans/theory_bool.cpp
411 theory/booleans/theory_bool.h
412 theory/booleans/theory_bool_rewriter.cpp
413 theory/booleans/theory_bool_rewriter.h
414 theory/booleans/theory_bool_type_rules.h
415 theory/booleans/type_enumerator.h
416 theory/builtin/proof_checker.cpp
417 theory/builtin/proof_checker.h
418 theory/builtin/theory_builtin.cpp
419 theory/builtin/theory_builtin.h
420 theory/builtin/theory_builtin_rewriter.cpp
421 theory/builtin/theory_builtin_rewriter.h
422 theory/builtin/theory_builtin_type_rules.h
423 theory/builtin/type_enumerator.cpp
424 theory/builtin/type_enumerator.h
425 theory/bv/abstraction.cpp
426 theory/bv/abstraction.h
427 theory/bv/bitblast/aig_bitblaster.cpp
428 theory/bv/bitblast/aig_bitblaster.h
429 theory/bv/bitblast/bitblast_strategies_template.h
430 theory/bv/bitblast/bitblast_utils.h
431 theory/bv/bitblast/bitblaster.h
432 theory/bv/bitblast/eager_bitblaster.cpp
433 theory/bv/bitblast/eager_bitblaster.h
434 theory/bv/bitblast/lazy_bitblaster.cpp
435 theory/bv/bitblast/lazy_bitblaster.h
436 theory/bv/bv_eager_solver.cpp
437 theory/bv/bv_eager_solver.h
438 theory/bv/bv_inequality_graph.cpp
439 theory/bv/bv_inequality_graph.h
440 theory/bv/bv_quick_check.cpp
441 theory/bv/bv_quick_check.h
442 theory/bv/bv_subtheory.h
443 theory/bv/bv_subtheory_algebraic.cpp
444 theory/bv/bv_subtheory_algebraic.h
445 theory/bv/bv_subtheory_bitblast.cpp
446 theory/bv/bv_subtheory_bitblast.h
447 theory/bv/bv_subtheory_core.cpp
448 theory/bv/bv_subtheory_core.h
449 theory/bv/bv_subtheory_inequality.cpp
450 theory/bv/bv_subtheory_inequality.h
453 theory/bv/theory_bv.cpp
454 theory/bv/theory_bv.h
455 theory/bv/theory_bv_rewrite_rules.h
456 theory/bv/theory_bv_rewrite_rules_constant_evaluation.h
457 theory/bv/theory_bv_rewrite_rules_core.h
458 theory/bv/theory_bv_rewrite_rules_normalization.h
459 theory/bv/theory_bv_rewrite_rules_operator_elimination.h
460 theory/bv/theory_bv_rewrite_rules_simplification.h
461 theory/bv/theory_bv_rewriter.cpp
462 theory/bv/theory_bv_rewriter.h
463 theory/bv/theory_bv_type_rules.h
464 theory/bv/theory_bv_utils.cpp
465 theory/bv/theory_bv_utils.h
466 theory/bv/type_enumerator.h
468 theory/combination_care_graph.cpp
469 theory/combination_care_graph.h
470 theory/combination_engine.cpp
471 theory/combination_engine.h
472 theory/datatypes/datatypes_rewriter.cpp
473 theory/datatypes/datatypes_rewriter.h
474 theory/datatypes/inference_manager.cpp
475 theory/datatypes/inference_manager.h
476 theory/datatypes/sygus_datatype_utils.cpp
477 theory/datatypes/sygus_datatype_utils.h
478 theory/datatypes/sygus_extension.cpp
479 theory/datatypes/sygus_extension.h
480 theory/datatypes/sygus_simple_sym.cpp
481 theory/datatypes/sygus_simple_sym.h
482 theory/datatypes/theory_datatypes.cpp
483 theory/datatypes/theory_datatypes.h
484 theory/datatypes/theory_datatypes_type_rules.h
485 theory/datatypes/theory_datatypes_utils.cpp
486 theory/datatypes/theory_datatypes_utils.h
487 theory/datatypes/type_enumerator.cpp
488 theory/datatypes/type_enumerator.h
489 theory/decision_manager.cpp
490 theory/decision_manager.h
491 theory/decision_strategy.cpp
492 theory/decision_strategy.h
493 theory/eager_proof_generator.cpp
494 theory/eager_proof_generator.h
495 theory/ee_manager.cpp
497 theory/ee_manager_distributed.cpp
498 theory/ee_manager_distributed.h
499 theory/ee_setup_info.h
500 theory/engine_output_channel.cpp
501 theory/engine_output_channel.h
504 theory/ext_theory.cpp
506 theory/fp/fp_converter.cpp
507 theory/fp/fp_converter.h
508 theory/fp/theory_fp.cpp
509 theory/fp/theory_fp.h
510 theory/fp/theory_fp_rewriter.cpp
511 theory/fp/theory_fp_rewriter.h
512 theory/fp/theory_fp_type_rules.h
513 theory/fp/type_enumerator.h
515 theory/inference_manager_buffered.cpp
516 theory/inference_manager_buffered.h
517 theory/logic_info.cpp
519 theory/model_manager.cpp
520 theory/model_manager.h
521 theory/model_manager_distributed.cpp
522 theory/model_manager_distributed.h
523 theory/output_channel.cpp
524 theory/output_channel.h
525 theory/quantifiers/alpha_equivalence.cpp
526 theory/quantifiers/alpha_equivalence.h
527 theory/quantifiers/anti_skolem.cpp
528 theory/quantifiers/anti_skolem.h
529 theory/quantifiers/bv_inverter.cpp
530 theory/quantifiers/bv_inverter.h
531 theory/quantifiers/bv_inverter_utils.cpp
532 theory/quantifiers/bv_inverter_utils.h
533 theory/quantifiers/candidate_rewrite_database.cpp
534 theory/quantifiers/candidate_rewrite_database.h
535 theory/quantifiers/candidate_rewrite_filter.cpp
536 theory/quantifiers/candidate_rewrite_filter.h
537 theory/quantifiers/cegqi/ceg_arith_instantiator.cpp
538 theory/quantifiers/cegqi/ceg_arith_instantiator.h
539 theory/quantifiers/cegqi/ceg_bv_instantiator.cpp
540 theory/quantifiers/cegqi/ceg_bv_instantiator.h
541 theory/quantifiers/cegqi/ceg_bv_instantiator_utils.cpp
542 theory/quantifiers/cegqi/ceg_bv_instantiator_utils.h
543 theory/quantifiers/cegqi/ceg_dt_instantiator.cpp
544 theory/quantifiers/cegqi/ceg_dt_instantiator.h
545 theory/quantifiers/cegqi/ceg_epr_instantiator.cpp
546 theory/quantifiers/cegqi/ceg_epr_instantiator.h
547 theory/quantifiers/cegqi/ceg_instantiator.cpp
548 theory/quantifiers/cegqi/ceg_instantiator.h
549 theory/quantifiers/cegqi/inst_strategy_cegqi.cpp
550 theory/quantifiers/cegqi/inst_strategy_cegqi.h
551 theory/quantifiers/cegqi/vts_term_cache.cpp
552 theory/quantifiers/cegqi/vts_term_cache.h
553 theory/quantifiers/conjecture_generator.cpp
554 theory/quantifiers/conjecture_generator.h
555 theory/quantifiers/dynamic_rewrite.cpp
556 theory/quantifiers/dynamic_rewrite.h
557 theory/quantifiers/ematching/candidate_generator.cpp
558 theory/quantifiers/ematching/candidate_generator.h
559 theory/quantifiers/ematching/ho_trigger.cpp
560 theory/quantifiers/ematching/ho_trigger.h
561 theory/quantifiers/ematching/inst_match_generator.cpp
562 theory/quantifiers/ematching/inst_match_generator.h
563 theory/quantifiers/ematching/inst_strategy_e_matching.cpp
564 theory/quantifiers/ematching/inst_strategy_e_matching.h
565 theory/quantifiers/ematching/instantiation_engine.cpp
566 theory/quantifiers/ematching/instantiation_engine.h
567 theory/quantifiers/ematching/trigger.cpp
568 theory/quantifiers/ematching/trigger.h
569 theory/quantifiers/equality_infer.cpp
570 theory/quantifiers/equality_infer.h
571 theory/quantifiers/equality_query.cpp
572 theory/quantifiers/equality_query.h
573 theory/quantifiers/expr_miner.cpp
574 theory/quantifiers/expr_miner.h
575 theory/quantifiers/expr_miner_manager.cpp
576 theory/quantifiers/expr_miner_manager.h
577 theory/quantifiers/extended_rewrite.cpp
578 theory/quantifiers/extended_rewrite.h
579 theory/quantifiers/first_order_model.cpp
580 theory/quantifiers/first_order_model.h
581 theory/quantifiers/fmf/bounded_integers.cpp
582 theory/quantifiers/fmf/bounded_integers.h
583 theory/quantifiers/fmf/full_model_check.cpp
584 theory/quantifiers/fmf/full_model_check.h
585 theory/quantifiers/fmf/model_builder.cpp
586 theory/quantifiers/fmf/model_builder.h
587 theory/quantifiers/fmf/model_engine.cpp
588 theory/quantifiers/fmf/model_engine.h
589 theory/quantifiers/fun_def_evaluator.cpp
590 theory/quantifiers/fun_def_evaluator.h
591 theory/quantifiers/fun_def_process.cpp
592 theory/quantifiers/fun_def_process.h
593 theory/quantifiers/inst_match.cpp
594 theory/quantifiers/inst_match.h
595 theory/quantifiers/inst_match_trie.cpp
596 theory/quantifiers/inst_match_trie.h
597 theory/quantifiers/inst_strategy_enumerative.cpp
598 theory/quantifiers/inst_strategy_enumerative.h
599 theory/quantifiers/sygus_inst.cpp
600 theory/quantifiers/sygus_inst.h
601 theory/quantifiers/instantiate.cpp
602 theory/quantifiers/instantiate.h
603 theory/quantifiers/lazy_trie.cpp
604 theory/quantifiers/lazy_trie.h
605 theory/quantifiers/proof_checker.cpp
606 theory/quantifiers/proof_checker.h
607 theory/quantifiers/quant_conflict_find.cpp
608 theory/quantifiers/quant_conflict_find.h
609 theory/quantifiers/quant_epr.cpp
610 theory/quantifiers/quant_epr.h
611 theory/quantifiers/quant_relevance.cpp
612 theory/quantifiers/quant_relevance.h
613 theory/quantifiers/quant_rep_bound_ext.cpp
614 theory/quantifiers/quant_rep_bound_ext.h
615 theory/quantifiers/quant_split.cpp
616 theory/quantifiers/quant_split.h
617 theory/quantifiers/quant_util.cpp
618 theory/quantifiers/quant_util.h
619 theory/quantifiers/quantifiers_attributes.cpp
620 theory/quantifiers/quantifiers_attributes.h
621 theory/quantifiers/quantifiers_rewriter.cpp
622 theory/quantifiers/quantifiers_rewriter.h
623 theory/quantifiers/quantifiers_state.cpp
624 theory/quantifiers/quantifiers_state.h
625 theory/quantifiers/query_generator.cpp
626 theory/quantifiers/query_generator.h
627 theory/quantifiers/relevant_domain.cpp
628 theory/quantifiers/relevant_domain.h
629 theory/quantifiers/single_inv_partition.cpp
630 theory/quantifiers/single_inv_partition.h
631 theory/quantifiers/skolemize.cpp
632 theory/quantifiers/skolemize.h
633 theory/quantifiers/solution_filter.cpp
634 theory/quantifiers/solution_filter.h
635 theory/quantifiers/sygus/ce_guided_single_inv.cpp
636 theory/quantifiers/sygus/ce_guided_single_inv.h
637 theory/quantifiers/sygus/ce_guided_single_inv_sol.cpp
638 theory/quantifiers/sygus/ce_guided_single_inv_sol.h
639 theory/quantifiers/sygus/cegis.cpp
640 theory/quantifiers/sygus/cegis.h
641 theory/quantifiers/sygus/cegis_core_connective.cpp
642 theory/quantifiers/sygus/cegis_core_connective.h
643 theory/quantifiers/sygus/cegis_unif.cpp
644 theory/quantifiers/sygus/cegis_unif.h
645 theory/quantifiers/sygus/example_eval_cache.cpp
646 theory/quantifiers/sygus/example_eval_cache.h
647 theory/quantifiers/sygus/example_infer.cpp
648 theory/quantifiers/sygus/example_infer.h
649 theory/quantifiers/sygus/example_min_eval.cpp
650 theory/quantifiers/sygus/example_min_eval.h
651 theory/quantifiers/sygus/enum_stream_substitution.cpp
652 theory/quantifiers/sygus/enum_stream_substitution.h
653 theory/quantifiers/sygus/example_infer.cpp
654 theory/quantifiers/sygus/example_infer.h
655 theory/quantifiers/sygus/example_min_eval.cpp
656 theory/quantifiers/sygus/example_min_eval.h
657 theory/quantifiers/sygus/sygus_abduct.cpp
658 theory/quantifiers/sygus/sygus_abduct.h
659 theory/quantifiers/sygus/sygus_enumerator.cpp
660 theory/quantifiers/sygus/sygus_enumerator.h
661 theory/quantifiers/sygus/sygus_enumerator_basic.cpp
662 theory/quantifiers/sygus/sygus_enumerator_basic.h
663 theory/quantifiers/sygus/sygus_eval_unfold.cpp
664 theory/quantifiers/sygus/sygus_eval_unfold.h
665 theory/quantifiers/sygus/sygus_explain.cpp
666 theory/quantifiers/sygus/sygus_explain.h
667 theory/quantifiers/sygus/sygus_grammar_cons.cpp
668 theory/quantifiers/sygus/sygus_grammar_cons.h
669 theory/quantifiers/sygus/sygus_grammar_norm.cpp
670 theory/quantifiers/sygus/sygus_grammar_norm.h
671 theory/quantifiers/sygus/sygus_grammar_red.cpp
672 theory/quantifiers/sygus/sygus_grammar_red.h
673 theory/quantifiers/sygus/sygus_interpol.cpp
674 theory/quantifiers/sygus/sygus_interpol.h
675 theory/quantifiers/sygus/sygus_invariance.cpp
676 theory/quantifiers/sygus/sygus_invariance.h
677 theory/quantifiers/sygus/sygus_module.cpp
678 theory/quantifiers/sygus/sygus_module.h
679 theory/quantifiers/sygus/sygus_pbe.cpp
680 theory/quantifiers/sygus/sygus_pbe.h
681 theory/quantifiers/sygus/sygus_process_conj.cpp
682 theory/quantifiers/sygus/sygus_process_conj.h
683 theory/quantifiers/sygus/sygus_repair_const.cpp
684 theory/quantifiers/sygus/sygus_repair_const.h
685 theory/quantifiers/sygus/sygus_stats.cpp
686 theory/quantifiers/sygus/sygus_stats.h
687 theory/quantifiers/sygus/sygus_unif.cpp
688 theory/quantifiers/sygus/sygus_unif.h
689 theory/quantifiers/sygus/sygus_unif_io.cpp
690 theory/quantifiers/sygus/sygus_unif_io.h
691 theory/quantifiers/sygus/sygus_unif_rl.cpp
692 theory/quantifiers/sygus/sygus_unif_rl.h
693 theory/quantifiers/sygus/sygus_unif_strat.cpp
694 theory/quantifiers/sygus/sygus_unif_strat.h
695 theory/quantifiers/sygus/synth_conjecture.cpp
696 theory/quantifiers/sygus/synth_conjecture.h
697 theory/quantifiers/sygus/synth_engine.cpp
698 theory/quantifiers/sygus/synth_engine.h
699 theory/quantifiers/sygus/term_database_sygus.cpp
700 theory/quantifiers/sygus/term_database_sygus.h
701 theory/quantifiers/sygus/type_info.cpp
702 theory/quantifiers/sygus/type_info.h
703 theory/quantifiers/sygus/type_node_id_trie.cpp
704 theory/quantifiers/sygus/type_node_id_trie.h
705 theory/quantifiers/sygus/transition_inference.cpp
706 theory/quantifiers/sygus/transition_inference.h
707 theory/quantifiers/sygus_sampler.cpp
708 theory/quantifiers/sygus_sampler.h
709 theory/quantifiers/term_database.cpp
710 theory/quantifiers/term_database.h
711 theory/quantifiers/term_enumeration.cpp
712 theory/quantifiers/term_enumeration.h
713 theory/quantifiers/term_util.cpp
714 theory/quantifiers/term_util.h
715 theory/quantifiers/theory_quantifiers.cpp
716 theory/quantifiers/theory_quantifiers.h
717 theory/quantifiers/theory_quantifiers_type_rules.h
718 theory/quantifiers_engine.cpp
719 theory/quantifiers_engine.h
720 theory/relevance_manager.cpp
721 theory/relevance_manager.h
726 theory/rewriter_attributes.h
727 theory/sep/theory_sep.cpp
728 theory/sep/theory_sep.h
729 theory/sep/theory_sep_rewriter.cpp
730 theory/sep/theory_sep_rewriter.h
731 theory/sep/theory_sep_type_rules.h
732 theory/sets/cardinality_extension.cpp
733 theory/sets/cardinality_extension.h
734 theory/sets/inference_manager.cpp
735 theory/sets/inference_manager.h
736 theory/sets/normal_form.h
737 theory/sets/rels_utils.h
738 theory/sets/skolem_cache.cpp
739 theory/sets/skolem_cache.h
740 theory/sets/solver_state.cpp
741 theory/sets/solver_state.h
742 theory/sets/theory_sets.cpp
743 theory/sets/theory_sets.h
744 theory/sets/theory_sets_private.cpp
745 theory/sets/theory_sets_private.h
746 theory/sets/theory_sets_rels.cpp
747 theory/sets/theory_sets_rels.h
748 theory/sets/theory_sets_rewriter.cpp
749 theory/sets/theory_sets_rewriter.h
750 theory/sets/theory_sets_type_enumerator.cpp
751 theory/sets/theory_sets_type_enumerator.h
752 theory/sets/theory_sets_type_rules.h
753 theory/shared_terms_database.cpp
754 theory/shared_terms_database.h
755 theory/smt_engine_subsolver.cpp
756 theory/smt_engine_subsolver.h
757 theory/sort_inference.cpp
758 theory/sort_inference.h
759 theory/strings/arith_entail.cpp
760 theory/strings/arith_entail.h
761 theory/strings/base_solver.cpp
762 theory/strings/base_solver.h
763 theory/strings/core_solver.cpp
764 theory/strings/core_solver.h
765 theory/strings/extf_solver.cpp
766 theory/strings/extf_solver.h
767 theory/strings/eqc_info.cpp
768 theory/strings/eqc_info.h
769 theory/strings/infer_info.cpp
770 theory/strings/infer_info.h
771 theory/strings/inference_manager.cpp
772 theory/strings/inference_manager.h
773 theory/strings/normal_form.cpp
774 theory/strings/normal_form.h
775 theory/strings/proof_checker.cpp
776 theory/strings/proof_checker.h
777 theory/strings/regexp_elim.cpp
778 theory/strings/regexp_elim.h
779 theory/strings/regexp_entail.cpp
780 theory/strings/regexp_entail.h
781 theory/strings/regexp_operation.cpp
782 theory/strings/regexp_operation.h
783 theory/strings/regexp_solver.cpp
784 theory/strings/regexp_solver.h
785 theory/strings/rewrites.cpp
786 theory/strings/rewrites.h
787 theory/strings/sequences_rewriter.cpp
788 theory/strings/sequences_rewriter.h
789 theory/strings/sequences_stats.cpp
790 theory/strings/sequences_stats.h
791 theory/strings/skolem_cache.cpp
792 theory/strings/skolem_cache.h
793 theory/strings/solver_state.cpp
794 theory/strings/solver_state.h
795 theory/strings/strategy.cpp
796 theory/strings/strategy.h
797 theory/strings/strings_entail.cpp
798 theory/strings/strings_entail.h
799 theory/strings/strings_fmf.cpp
800 theory/strings/strings_fmf.h
801 theory/strings/strings_rewriter.cpp
802 theory/strings/strings_rewriter.h
803 theory/strings/theory_strings.cpp
804 theory/strings/theory_strings.h
805 theory/strings/theory_strings_preprocess.cpp
806 theory/strings/theory_strings_preprocess.h
807 theory/strings/theory_strings_type_rules.h
808 theory/strings/theory_strings_utils.cpp
809 theory/strings/theory_strings_utils.h
810 theory/strings/term_registry.cpp
811 theory/strings/term_registry.h
812 theory/strings/type_enumerator.cpp
813 theory/strings/type_enumerator.h
814 theory/strings/word.cpp
815 theory/strings/word.h
816 theory/subs_minimize.cpp
817 theory/subs_minimize.h
818 theory/substitutions.cpp
819 theory/substitutions.h
820 theory/term_registration_visitor.cpp
821 theory/term_registration_visitor.h
824 theory/theory_engine.cpp
825 theory/theory_engine.h
826 theory/theory_engine_proof_generator.cpp
827 theory/theory_engine_proof_generator.h
830 theory/theory_inference.cpp
831 theory/theory_inference.h
832 theory/theory_inference_manager.cpp
833 theory/theory_inference_manager.h
834 theory/theory_model.cpp
835 theory/theory_model.h
836 theory/theory_model_builder.cpp
837 theory/theory_model_builder.h
838 theory/theory_preprocessor.cpp
839 theory/theory_preprocessor.h
840 theory/theory_proof_step_buffer.cpp
841 theory/theory_proof_step_buffer.h
842 theory/theory_rewriter.cpp
843 theory/theory_rewriter.h
844 theory/theory_registrar.h
845 theory/theory_state.cpp
846 theory/theory_state.h
847 theory/theory_test_utils.h
848 theory/trust_node.cpp
850 theory/type_enumerator.h
853 theory/uf/cardinality_extension.cpp
854 theory/uf/cardinality_extension.h
855 theory/uf/equality_engine.cpp
856 theory/uf/equality_engine.h
857 theory/uf/equality_engine_iterator.cpp
858 theory/uf/equality_engine_iterator.h
859 theory/uf/equality_engine_notify.h
860 theory/uf/equality_engine_types.h
861 theory/uf/eq_proof.cpp
863 theory/uf/proof_checker.cpp
864 theory/uf/proof_checker.h
865 theory/uf/proof_equality_engine.cpp
866 theory/uf/proof_equality_engine.h
867 theory/uf/ho_extension.cpp
868 theory/uf/ho_extension.h
869 theory/uf/symmetry_breaker.cpp
870 theory/uf/symmetry_breaker.h
871 theory/uf/theory_uf.cpp
872 theory/uf/theory_uf.h
873 theory/uf/theory_uf_model.cpp
874 theory/uf/theory_uf_model.h
875 theory/uf/theory_uf_rewriter.h
876 theory/uf/theory_uf_type_rules.h
881 #-----------------------------------------------------------------------------#
882 # Add required include paths for this and all subdirectories.
884 include_directories(include)
885 include_directories(. ${CMAKE_CURRENT_BINARY_DIR})
887 #-----------------------------------------------------------------------------#
890 ${PROJECT_SOURCE_DIR}/src/theory/builtin/kinds
891 ${PROJECT_SOURCE_DIR}/src/theory/booleans/kinds
892 ${PROJECT_SOURCE_DIR}/src/theory/uf/kinds
893 ${PROJECT_SOURCE_DIR}/src/theory/arith/kinds
894 ${PROJECT_SOURCE_DIR}/src/theory/bv/kinds
895 ${PROJECT_SOURCE_DIR}/src/theory/fp/kinds
896 ${PROJECT_SOURCE_DIR}/src/theory/arrays/kinds
897 ${PROJECT_SOURCE_DIR}/src/theory/datatypes/kinds
898 ${PROJECT_SOURCE_DIR}/src/theory/sep/kinds
899 ${PROJECT_SOURCE_DIR}/src/theory/sets/kinds
900 ${PROJECT_SOURCE_DIR}/src/theory/strings/kinds
901 ${PROJECT_SOURCE_DIR}/src/theory/quantifiers/kinds)
903 #-----------------------------------------------------------------------------#
906 add_subdirectory(base)
907 add_subdirectory(expr)
908 add_subdirectory(options)
909 if (NOT BUILD_LIB_ONLY)
910 add_subdirectory(parser)
912 add_subdirectory(theory)
913 add_subdirectory(util)
915 #-----------------------------------------------------------------------------#
916 # All sources for libcvc4 are now collected in LIBCVC4_SRCS and (if generated)
917 # LIBCVC4_GEN_SRCS (via libcvc4_add_sources). We can now build libcvc4.
919 set_source_files_properties(${LIBCVC4_GEN_SRCS} PROPERTIES GENERATED TRUE)
920 add_library(cvc4 ${LIBCVC4_SRCS} ${LIBCVC4_GEN_SRCS})
921 target_include_directories(cvc4
923 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
924 $<INSTALL_INTERFACE:include>
929 LIBRARY DESTINATION ${LIBRARY_INSTALL_DIR}
930 ARCHIVE DESTINATION ${LIBRARY_INSTALL_DIR})
932 set_target_properties(cvc4 PROPERTIES SOVERSION ${CVC4_SOVERSION})
933 target_compile_definitions(cvc4
936 -D__STDC_LIMIT_MACROS
937 -D__STDC_FORMAT_MACROS
939 # Add libcvc4 dependencies for generated sources.
940 add_dependencies(cvc4 gen-expr gen-gitinfo gen-options gen-tags gen-theory)
942 # Add library/include dependencies
944 target_include_directories(cvc4 PRIVATE ${Valgrind_INCLUDE_DIR})
947 target_link_libraries(cvc4 ${ABC_LIBRARIES})
948 target_include_directories(cvc4 PRIVATE ${ABC_INCLUDE_DIR})
951 target_link_libraries(cvc4 ${CaDiCaL_LIBRARIES})
952 target_include_directories(cvc4 PRIVATE ${CaDiCaL_INCLUDE_DIR})
955 target_link_libraries(cvc4 ${CLN_LIBRARIES})
956 target_include_directories(cvc4 PUBLIC $<BUILD_INTERFACE:${CLN_INCLUDE_DIR}>)
958 if(USE_CRYPTOMINISAT)
959 target_link_libraries(cvc4 ${CryptoMiniSat_LIBRARIES})
960 target_include_directories(cvc4 PRIVATE ${CryptoMiniSat_INCLUDE_DIR})
963 target_link_libraries(cvc4 ${Kissat_LIBRARIES})
964 target_include_directories(cvc4 PRIVATE ${Kissat_INCLUDE_DIR})
967 target_link_libraries(cvc4 ${Drat2Er_LIBRARIES})
968 target_include_directories(cvc4 PRIVATE ${Drat2Er_INCLUDE_DIR})
971 target_link_libraries(cvc4 ${GLPK_LIBRARIES})
972 target_include_directories(cvc4 PRIVATE ${GLPK_INCLUDE_DIR})
975 target_link_libraries(cvc4 ${LFSC_LIBRARIES})
976 target_include_directories(cvc4 PRIVATE ${LFSC_INCLUDE_DIR})
979 target_link_libraries(cvc4 ${POLY_LIBRARIES})
980 target_include_directories(cvc4 PRIVATE ${POLY_INCLUDE_DIR})
983 target_include_directories(cvc4
984 PUBLIC $<BUILD_INTERFACE:${SymFPU_INCLUDE_DIR}>)
987 # Note: When linked statically GMP needs to be linked after CLN since CLN
989 target_link_libraries(cvc4 ${GMP_LIBRARIES})
990 target_include_directories(cvc4 PUBLIC $<BUILD_INTERFACE:${GMP_INCLUDE_DIR}>)
993 # Note: For glibc < 2.17 we have to additionally link against rt (man clock_gettime).
994 # RT_LIBRARIES should be empty for glibc >= 2.17
995 target_link_libraries(cvc4 ${RT_LIBRARIES})
997 #-----------------------------------------------------------------------------#
998 # Visit main subdirectory after creating target cvc4. For target main, we have
999 # to manually add library dependencies since we can't use
1000 # target_link_libraries(...) with object libraries for cmake versions <= 3.12.
1001 # Thus, we can only visit main as soon as all dependencies for cvc4 are set up.
1003 if (NOT BUILD_LIB_ONLY)
1004 add_subdirectory(main)
1007 #-----------------------------------------------------------------------------#
1009 # We define all install commands for all public headers here in one
1010 # place so that we can easily remove them as soon as we enforce the new
1013 # All (generated) headers that either include cvc4_public.h or
1014 # cvc4parser_public.h need to be listed explicitly here.
1020 ${INCLUDE_INSTALL_DIR}/cvc4/api)
1022 base/configuration.h
1025 base/modal_exception.h
1027 ${INCLUDE_INSTALL_DIR}/cvc4/base)
1029 context/cdhashmap_forward.h
1030 context/cdhashset_forward.h
1031 context/cdinsert_hashmap_forward.h
1032 context/cdlist_forward.h
1034 ${INCLUDE_INSTALL_DIR}/cvc4/context)
1037 include/cvc4_public.h
1038 include/cvc4parser_public.h
1040 ${INCLUDE_INSTALL_DIR}/cvc4)
1043 expr/array_store_all.h
1044 expr/ascription_type.h
1051 expr/uninterpreted_constant.h
1052 expr/variable_type_map.h
1053 ${CMAKE_CURRENT_BINARY_DIR}/expr/expr.h
1054 ${CMAKE_CURRENT_BINARY_DIR}/expr/kind.h
1055 ${CMAKE_CURRENT_BINARY_DIR}/expr/expr_manager.h
1057 ${INCLUDE_INSTALL_DIR}/cvc4/expr)
1060 options/option_exception.h
1062 options/printer_modes.h
1063 options/set_language.h
1065 ${INCLUDE_INSTALL_DIR}/cvc4/options)
1069 parser/parser_builder.h
1070 parser/parser_exception.h
1073 ${INCLUDE_INSTALL_DIR}/cvc4/parser)
1076 ${INCLUDE_INSTALL_DIR}/cvc4/printer)
1080 ${INCLUDE_INSTALL_DIR}/cvc4/proof)
1083 smt/logic_exception.h
1086 ${INCLUDE_INSTALL_DIR}/cvc4/smt)
1091 ${INCLUDE_INSTALL_DIR}/cvc4/theory)
1093 util/abstract_value.h
1101 util/integer_cln_imp.h
1102 util/integer_gmp_imp.h
1106 util/rational_cln_imp.h
1107 util/rational_gmp_imp.h
1108 util/real_algebraic_number_poly_imp.h
1110 util/resource_manager.h
1116 util/unsafe_interrupt_exception.h
1117 ${CMAKE_CURRENT_BINARY_DIR}/util/floatingpoint.h
1118 ${CMAKE_CURRENT_BINARY_DIR}/util/integer.h
1119 ${CMAKE_CURRENT_BINARY_DIR}/util/rational.h
1120 ${CMAKE_CURRENT_BINARY_DIR}/util/real_algebraic_number.h
1122 ${INCLUDE_INSTALL_DIR}/cvc4/util)
1124 # Fix include paths for all public headers.
1125 # Note: This is a temporary fix until the new C++ API is in place.
1126 install(CODE "execute_process(COMMAND
1127 ${CMAKE_CURRENT_LIST_DIR}/fix-install-headers.sh
1128 ${CMAKE_INSTALL_PREFIX})")