GCC Code Coverage Report
Directory: . Exec Total Coverage
File: src/theory/quantifiers/master_eq_notify.h Lines: 3 8 37.5 %
Date: 2021-09-29 Branches: 0 0 0.0 %

Line Exec Source
1
/******************************************************************************
2
 * Top contributors (to current version):
3
 *   Andrew Reynolds
4
 *
5
 * This file is part of the cvc5 project.
6
 *
7
 * Copyright (c) 2009-2021 by the authors listed in the file AUTHORS
8
 * in the top-level source directory and their institutional affiliations.
9
 * All rights reserved.  See the file COPYING in the top-level source
10
 * directory for licensing information.
11
 * ****************************************************************************
12
 *
13
 * Notification class for the master equality engine
14
 */
15
16
#include "cvc5_private.h"
17
18
#ifndef CVC5__THEORY__QUANTIFIERS__MASTER_EQ_NOTIFY__H
19
#define CVC5__THEORY__QUANTIFIERS__MASTER_EQ_NOTIFY__H
20
21
#include <memory>
22
23
#include "theory/uf/equality_engine_notify.h"
24
25
namespace cvc5 {
26
namespace theory {
27
28
class QuantifiersEngine;
29
30
namespace quantifiers {
31
32
/** notify class for master equality engine */
33
9518
class MasterNotifyClass : public theory::eq::EqualityEngineNotify
34
{
35
 public:
36
  MasterNotifyClass(QuantifiersEngine* qe);
37
  /**
38
    * Called when a new equivalence class is created in the master equality
39
    * engine.
40
    */
41
  void eqNotifyNewClass(TNode t) override;
42
43
  bool eqNotifyTriggerPredicate(TNode predicate, bool value) override
44
  {
45
    return true;
46
  }
47
  bool eqNotifyTriggerTermEquality(TheoryId tag,
48
                                    TNode t1,
49
                                    TNode t2,
50
                                    bool value) override
51
  {
52
    return true;
53
  }
54
6120
  void eqNotifyConstantTermMerge(TNode t1, TNode t2) override {}
55
4099180
  void eqNotifyMerge(TNode t1, TNode t2) override {}
56
  void eqNotifyDisequal(TNode t1, TNode t2, TNode reason) override {}
57
58
  private:
59
  /** Pointer to quantifiers engine */
60
  QuantifiersEngine* d_quantEngine;
61
};
62
63
64
}  // namespace quantifiers
65
}  // namespace theory
66
}  // namespace cvc5
67
68
#endif /* CVC5__THEORY__QUANTIFIERS__MASTER_EQ_NOTIFY__H */