Skip to content

Commit e2d2cfd

Browse files
authored
Small Cosmetic Changes to RARE rules (cvc5#11666)
I apologize in advance for needing this change but I keep messing up thinking that y3 isn't a list and zs is.
1 parent a69fba7 commit e2d2cfd

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

proofs/eo/cpc/rules/Rewrites.eo

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -339,13 +339,13 @@
339339
:args (x1 y1 zs1)
340340
:conclusion (= (not (and x1 y1 zs1)) (or (not x1) (not ($singleton_elim (and y1 zs1)))))
341341
)
342-
(declare-rule bool-or-and-distrib ((y1 Bool) (y2 Bool) (y3 Bool :list) (zs1 Bool :list))
343-
:args (y1 y2 y3 zs1)
344-
:conclusion (= ($singleton_elim (or (and y1 y2 y3) zs1)) (and ($singleton_elim (or y1 zs1)) ($singleton_elim (or ($singleton_elim (and y2 y3)) zs1))))
342+
(declare-rule bool-or-and-distrib ((y1 Bool) (y2 Bool) (ys1 Bool :list) (zs1 Bool :list))
343+
:args (y1 y2 ys1 zs1)
344+
:conclusion (= ($singleton_elim (or (and y1 y2 ys1) zs1)) (and ($singleton_elim (or y1 zs1)) ($singleton_elim (or ($singleton_elim (and y2 ys1)) zs1))))
345345
)
346-
(declare-rule bool-implies-or-distrib ((y1 Bool) (y2 Bool) (y3 Bool :list) (zs1 Bool))
347-
:args (y1 y2 y3 zs1)
348-
:conclusion (= (=> (or y1 y2 y3) zs1) (and (=> y1 zs1) (=> ($singleton_elim (or y2 y3)) zs1)))
346+
(declare-rule bool-implies-or-distrib ((y1 Bool) (y2 Bool) (ys1 Bool :list) (z1 Bool))
347+
:args (y1 y2 ys1 z1)
348+
:conclusion (= (=> (or y1 y2 ys1) z1) (and (=> y1 z1) (=> ($singleton_elim (or y2 ys1)) z1)))
349349
)
350350
(declare-rule bool-xor-refl ((x1 Bool))
351351
:args (x1)

src/theory/booleans/rewrites

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,16 @@
4242

4343
; We only permit distributing from the first child, or otherwise this rule
4444
; could apply to fix point on all AND children of an OR at once.
45-
(define-rule* bool-or-and-distrib ((y1 Bool) (y2 Bool) (y3 Bool :list) (zs Bool :list))
46-
(or (and y1 y2 y3) zs)
47-
(or (and y2 y3) zs)
45+
(define-rule* bool-or-and-distrib ((y1 Bool) (y2 Bool) (ys Bool :list) (zs Bool :list))
46+
(or (and y1 y2 ys) zs)
47+
(or (and y2 ys) zs)
4848
(and (or y1 zs) _))
4949

5050
; Used for diamonds preprocessing
51-
(define-rule* bool-implies-or-distrib ((y1 Bool) (y2 Bool) (y3 Bool :list) (zs Bool))
52-
(=> (or y1 y2 y3) zs)
53-
(=> (or y2 y3) zs)
54-
(and (=> y1 zs) _))
51+
(define-rule* bool-implies-or-distrib ((y1 Bool) (y2 Bool) (ys Bool :list) (z Bool))
52+
(=> (or y1 y2 ys) z)
53+
(=> (or y2 ys) z)
54+
(and (=> y1 z) _))
5555

5656
(define-rule bool-xor-refl ((x Bool)) (xor x x) false)
5757
(define-rule bool-xor-nrefl ((x Bool)) (xor x (not x)) true)

0 commit comments

Comments
 (0)