File tree Expand file tree Collapse file tree 5 files changed +37
-32
lines changed Expand file tree Collapse file tree 5 files changed +37
-32
lines changed Original file line number Diff line number Diff line change @@ -1441,6 +1441,10 @@ set(REWRITES_FILES
1441
1441
${PROJECT_SOURCE_DIR} /src/theory/strings/rewrites
1442
1442
${PROJECT_SOURCE_DIR} /src/theory/strings/rewrites-regexp-membership
1443
1443
${PROJECT_SOURCE_DIR} /src/theory/uf/rewrites
1444
+ # these files should only be enabled in expert builds and should
1445
+ # be partitioned into their own proof signature
1446
+ ${PROJECT_SOURCE_DIR} /src/theory/arith/rewrites-transcendentals
1447
+ ${PROJECT_SOURCE_DIR} /src/theory/sets/rewrites-card
1444
1448
)
1445
1449
1446
1450
#-----------------------------------------------------------------------------#
Original file line number Diff line number Diff line change 77
77
(>= (to_real t) c)
78
78
(>= t cc))
79
79
80
- ; trancendentals
81
-
82
- (define-rule arith-sine-zero () (sin 0/1) 0/1)
83
- (define-rule arith-sine-pi2 () (sin (* 1/2 real.pi)) 1/1)
84
- (define-rule arith-cosine-elim ((x Real)) (cos x) (sin (- (* 1/2 real.pi) x)))
85
- (define-rule arith-tangent-elim ((x Real)) (tan x) (/ (sin x) (cos x)))
86
- (define-rule arith-secent-elim ((x Real)) (sec x) (/ 1/1 (sin x)))
87
- (define-rule arith-cosecent-elim ((x Real)) (csc x) (/ 1/1 (cos x)))
88
- (define-rule arith-cotangent-elim ((x Real)) (cot x) (/ (cos x) (sin x)))
89
-
90
- (define-rule arith-pi-not-int () (is_int real.pi) false)
91
-
92
80
; absolute value comparisons
93
81
94
82
(define-rule arith-abs-eq ((x ?) (y ?))
Original file line number Diff line number Diff line change
1
+ ; trancendentals
2
+
3
+ (define-rule arith-sine-zero () (sin 0/1) 0/1)
4
+ (define-rule arith-sine-pi2 () (sin (* 1/2 real.pi)) 1/1)
5
+ (define-rule arith-cosine-elim ((x Real)) (cos x) (sin (- (* 1/2 real.pi) x)))
6
+ (define-rule arith-tangent-elim ((x Real)) (tan x) (/ (sin x) (cos x)))
7
+ (define-rule arith-secent-elim ((x Real)) (sec x) (/ 1/1 (sin x)))
8
+ (define-rule arith-cosecent-elim ((x Real)) (csc x) (/ 1/1 (cos x)))
9
+ (define-rule arith-cotangent-elim ((x Real)) (cot x) (/ (cos x) (sin x)))
10
+
11
+ (define-rule arith-pi-not-int () (is_int real.pi) false)
12
+
Original file line number Diff line number Diff line change 1
- ; Equality
1
+ ; Theory of sets
2
2
3
3
(define-cond-rule sets-eq-singleton-emp ((x ?Set) (y ?))
4
4
(= x (@set.empty_of_type (@type_of x)))
64
64
(set.choose (set.singleton x))
65
65
x)
66
66
67
- (define-rule sets-card-singleton ((x ?))
68
- (set.card (set.singleton x))
69
- 1)
70
-
71
- (define-rule sets-card-union ((s ?Set) (t ?Set))
72
- (set.card (set.union s t))
73
- (- (+ (set.card s) (set.card t)) (set.card (set.inter s t))))
74
-
75
- (define-rule sets-card-minus ((s ?Set) (t ?Set))
76
- (set.card (set.minus s t))
77
- (- (set.card s) (set.card (set.inter s t))))
78
-
79
- (define-cond-rule sets-card-emp ((x ?Set))
80
- (= x (@set.empty_of_type (@type_of x)))
81
- (set.card x)
82
- 0)
83
-
84
67
(define-rule sets-minus-self ((x ?Set))
85
68
(set.minus x x)
86
69
(@set.empty_of_type (@type_of x)))
87
70
88
- ; (set.complement S) ---> (set.minus (as set.universe (Set Int)) S)
89
-
90
71
(define-rule sets-is-empty-elim ((x ?Set))
91
72
(set.is_empty x)
92
73
(= x (@set.empty_of_type (@type_of x))))
Original file line number Diff line number Diff line change
1
+ ; Theory of sets with cardinality
2
+
3
+ (define-rule sets-card-singleton ((x ?))
4
+ (set.card (set.singleton x))
5
+ 1)
6
+
7
+ (define-rule sets-card-union ((s ?Set) (t ?Set))
8
+ (set.card (set.union s t))
9
+ (- (+ (set.card s) (set.card t)) (set.card (set.inter s t))))
10
+
11
+ (define-rule sets-card-minus ((s ?Set) (t ?Set))
12
+ (set.card (set.minus s t))
13
+ (- (set.card s) (set.card (set.inter s t))))
14
+
15
+ (define-cond-rule sets-card-emp ((x ?Set))
16
+ (= x (@set.empty_of_type (@type_of x)))
17
+ (set.card x)
18
+ 0)
19
+
20
+ ; (set.complement S) ---> (set.minus (as set.universe (Set Int)) S)
You can’t perform that action at this time.
0 commit comments