Skip to content

Commit 5dd0c46

Browse files
Fix Sequent toString method
1 parent 07c4f3d commit 5dd0c46

File tree

2 files changed

+23
-24
lines changed

2 files changed

+23
-24
lines changed

lisa-examples/src/main/scala/Kernel2Code.scala

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -131,27 +131,27 @@ object Kernel2Code extends lisa.Main {
131131
val s_1_5_0 = have((x, (Q(x) R(x))) (x, R(x))) by RightForall(s_1_4)
132132
}
133133
val s_1_6 = have((x, (Q(x) R(x))) ((x, Q(x)) (x, R(x)))) subproof {
134-
val s_1_6_0 = have(() ((x, (Q(x) R(x))) ==> (x, Q(x)))) by Restate.from(s_1_3)
135-
val s_1_6_1 = have(() ((x, (Q(x) R(x))) ==> (x, R(x)))) by Restate.from(s_1_5)
134+
val s_1_6_0 = have(((x, (Q(x) R(x))) ==> (x, Q(x)))) by Restate.from(s_1_3)
135+
val s_1_6_1 = have(((x, (Q(x) R(x))) ==> (x, R(x)))) by Restate.from(s_1_5)
136136
val s_1_6_2 = have(((x, (Q(x) R(x))), ((x, (Q(x) R(x))) ==> (x, Q(x))), ((x, (Q(x) R(x))) ==> (x, R(x)))) ((x, Q(x)) (x, R(x)))) subproof {
137-
val s_1_6_2_0 = have(() ) by Restate
137+
val s_1_6_2_0 = have() by Restate
138138
val s_1_6_2_1 = thenHave(((x, (Q(x) R(x))), ((x, (Q(x) R(x))) ==> (x, Q(x))), ((x, (Q(x) R(x))) ==> (x, R(x)))) ((x, Q(x)) (x, R(x)))) by Restate
139139
}
140140
val s_1_6_3 = have(((x, (Q(x) R(x))), ((x, (Q(x) R(x))) ==> (x, R(x)))) ((x, Q(x)) (x, R(x)))) by Cut(s_1_6_0, s_1_6_2)
141141
val s_1_6_4 = have((x, (Q(x) R(x))) ((x, Q(x)) (x, R(x)))) by Cut(s_1_6_1, s_1_6_3)
142142
}
143143
val s_1_7 = thenHave((x, (Q(x) R(x))) ((x, Q(x)) (x, R(x)))) by Restate
144144
}
145-
val s_2 = have(() (((x, Q(x)) (x, R(x))) <=> (x, (Q(x) R(x))))) subproof {
146-
val s_2_0 = have(() (((x, R(x)) (x, Q(x))) ==> (x, (Q(x) R(x))))) by Restate.from(s_0)
147-
val s_2_1 = have(() ((x, (Q(x) R(x))) ==> ((x, Q(x)) (x, R(x))))) by Restate.from(s_1)
145+
val s_2 = have((((x, Q(x)) (x, R(x))) <=> (x, (Q(x) R(x))))) subproof {
146+
val s_2_0 = have((((x, R(x)) (x, Q(x))) ==> (x, (Q(x) R(x))))) by Restate.from(s_0)
147+
val s_2_1 = have(((x, (Q(x) R(x))) ==> ((x, Q(x)) (x, R(x))))) by Restate.from(s_1)
148148
val s_2_2 = have(((((x, R(x)) (x, Q(x))) ==> (x, (Q(x) R(x)))), ((x, (Q(x) R(x))) ==> ((x, Q(x)) (x, R(x))))) (((x, Q(x)) (x, R(x))) <=> (x, (Q(x) R(x))))) subproof {
149-
val s_2_2_0 = have(() ) by Restate
149+
val s_2_2_0 = have() by Restate
150150
val s_2_2_1 =
151151
thenHave(((((x, R(x)) (x, Q(x))) ==> (x, (Q(x) R(x)))), ((x, (Q(x) R(x))) ==> ((x, Q(x)) (x, R(x))))) (((x, Q(x)) (x, R(x))) <=> (x, (Q(x) R(x))))) by Restate
152152
}
153153
val s_2_3 = have(((x, (Q(x) R(x))) ==> ((x, Q(x)) (x, R(x)))) (((x, Q(x)) (x, R(x))) <=> (x, (Q(x) R(x))))) by Cut(s_2_0, s_2_2)
154-
val s_2_4 = have(() (((x, Q(x)) (x, R(x))) <=> (x, (Q(x) R(x))))) by Cut(s_2_1, s_2_3)
154+
val s_2_4 = have((((x, Q(x)) (x, R(x))) <=> (x, (Q(x) R(x))))) by Cut(s_2_1, s_2_3)
155155
}
156156
}
157157

@@ -166,18 +166,18 @@ object Kernel2Code extends lisa.Main {
166166
val s_7 = thenHave((x, (Q(x) R(x))) (x, Q(x))) by RightForall
167167
val s_8 = have((x, (Q(x) R(x))) R(x)) by Weakening(s_5)
168168
val s_9 = thenHave((x, (Q(x) R(x))) (x, R(x))) by RightForall
169-
val s_10 = have(() ((x, (Q(x) R(x))) ==> (x, Q(x)))) by Restate.from(s_7)
170-
val s_11 = have(() ((x, (Q(x) R(x))) ==> (x, R(x)))) by Restate.from(s_9)
171-
val s_12 = have(() ) by Restate
169+
val s_10 = have(((x, (Q(x) R(x))) ==> (x, Q(x)))) by Restate.from(s_7)
170+
val s_11 = have(((x, (Q(x) R(x))) ==> (x, R(x)))) by Restate.from(s_9)
171+
val s_12 = have() by Restate
172172
val s_13 = thenHave(((x, (Q(x) R(x))), ((x, (Q(x) R(x))) ==> (x, Q(x))), ((x, (Q(x) R(x))) ==> (x, R(x)))) ((x, Q(x)) (x, R(x)))) by Restate
173173
val s_14 = have(((x, (Q(x) R(x))), ((x, (Q(x) R(x))) ==> (x, R(x)))) ((x, Q(x)) (x, R(x)))) by Cut(s_10, s_13)
174174
val s_15 = have((x, (Q(x) R(x))) ((x, Q(x)) (x, R(x)))) by Cut(s_11, s_14)
175-
val s_16 = have(() (((x, R(x)) (x, Q(x))) ==> (x, (Q(x) R(x))))) by Restate.from(s_3)
176-
val s_17 = have(() ((x, (Q(x) R(x))) ==> ((x, Q(x)) (x, R(x))))) by Restate.from(s_15)
175+
val s_16 = have((((x, R(x)) (x, Q(x))) ==> (x, (Q(x) R(x))))) by Restate.from(s_3)
176+
val s_17 = have(((x, (Q(x) R(x))) ==> ((x, Q(x)) (x, R(x))))) by Restate.from(s_15)
177177
val s_18 =
178178
have(((((x, R(x)) (x, Q(x))) ==> (x, (Q(x) R(x)))), ((x, (Q(x) R(x))) ==> ((x, Q(x)) (x, R(x))))) (((x, Q(x)) (x, R(x))) <=> (x, (Q(x) R(x))))) by Restate.from(s_12)
179179
val s_19 = have(((x, (Q(x) R(x))) ==> ((x, Q(x)) (x, R(x)))) (((x, Q(x)) (x, R(x))) <=> (x, (Q(x) R(x))))) by Cut(s_16, s_18)
180-
val s_20 = have(() (((x, Q(x)) (x, R(x))) <=> (x, (Q(x) R(x))))) by Cut(s_17, s_19)
180+
val s_20 = have((((x, Q(x)) (x, R(x))) <=> (x, (Q(x) R(x))))) by Cut(s_17, s_19)
181181
}
182182

183183
// This theorem requires instantiating the assumption twice, once with x and once with f(x), and then combine the two.
@@ -212,8 +212,8 @@ object Kernel2Code extends lisa.Main {
212212
val s_2_1 = have((x_1, (Q(x_1) ==> Q(f(x_1)))) (Q(f(x)) ==> Q(f(f(x))))) by InstFunSchema(Map(x -> f(x)))(s_1)
213213
}
214214
val s_3 = have((x, (Q(x) ==> Q(f(x)))) (Q(x) ==> Q(f(f(x))))) subproof {
215-
val s_3_0 = have(() ((x, (Q(x) ==> Q(f(x)))) ==> (Q(x) ==> Q(f(x))))) by Restate.from(s_1)
216-
val s_3_1 = have(() ((x_1, (Q(x_1) ==> Q(f(x_1)))) ==> (Q(f(x)) ==> Q(f(f(x)))))) by Restate.from(s_2)
215+
val s_3_0 = have(((x, (Q(x) ==> Q(f(x)))) ==> (Q(x) ==> Q(f(x))))) by Restate.from(s_1)
216+
val s_3_1 = have(((x_1, (Q(x_1) ==> Q(f(x_1)))) ==> (Q(f(x)) ==> Q(f(f(x)))))) by Restate.from(s_2)
217217
val s_3_2 = have(((x, (Q(x) ==> Q(f(x)))), ((x, (Q(x) ==> Q(f(x)))) ==> (Q(x) ==> Q(f(x)))), ((x_1, (Q(x_1) ==> Q(f(x_1)))) ==> (Q(f(x)) ==> Q(f(f(x)))))) (Q(x) ==> Q(f(f(x))))) subproof {
218218
val s_3_2_0 = have(
219219
Q(f(x)) ¬((¬(((x_1, ¬((Q(x_1) ¬(Q(f(x_1)))))) ¬(Q(f(f(x)))))) ¬(((x, ¬((Q(x) ¬(Q(f(x)))))) Q(x) ¬())) (x, ¬((Q(x) ¬(Q(f(x)))))) Q(x) ¬(Q(f(f(x))))))
@@ -247,10 +247,10 @@ object Kernel2Code extends lisa.Main {
247247
))
248248
) by Restate
249249
val s_3_2_5 = have(
250-
() ¬((¬(((x_1, ¬((Q(x_1) ¬(Q(f(x_1)))))) Q(f(x)) ¬(Q(f(f(x)))))) ¬(((x, ¬((Q(x) ¬(Q(f(x)))))) Q(x) ¬(Q(f(x))))) (x, ¬((Q(x) ¬(Q(f(x)))))) Q(x) ¬(Q(f(f(x))))))
250+
¬((¬(((x_1, ¬((Q(x_1) ¬(Q(f(x_1)))))) Q(f(x)) ¬(Q(f(f(x)))))) ¬(((x, ¬((Q(x) ¬(Q(f(x)))))) Q(x) ¬(Q(f(x))))) (x, ¬((Q(x) ¬(Q(f(x)))))) Q(x) ¬(Q(f(f(x))))))
251251
) by Cut(s_3_2_4, s_3_2_1)
252252
val s_3_2_6 = thenHave(
253-
() ¬((¬(((x_1, ¬((Q(x_1) ¬(Q(f(x_1)))))) Q(f(x)) ¬(Q(f(f(x)))))) ¬(((x, ¬((Q(x) ¬(Q(f(x)))))) Q(x) ¬(Q(f(x))))) (x, ¬((Q(x) ¬(Q(f(x)))))) Q(x) ¬(Q(f(f(x))))))
253+
¬((¬(((x_1, ¬((Q(x_1) ¬(Q(f(x_1)))))) Q(f(x)) ¬(Q(f(f(x)))))) ¬(((x, ¬((Q(x) ¬(Q(f(x)))))) Q(x) ¬(Q(f(x))))) (x, ¬((Q(x) ¬(Q(f(x)))))) Q(x) ¬(Q(f(f(x))))))
254254
) by Restate
255255
val s_3_2_7 =
256256
thenHave(((x, (Q(x) ==> Q(f(x)))), ((x, (Q(x) ==> Q(f(x)))) ==> (Q(x) ==> Q(f(x)))), ((x_1, (Q(x_1) ==> Q(f(x_1)))) ==> (Q(f(x)) ==> Q(f(f(x)))))) (Q(x) ==> Q(f(f(x))))) by Restate
@@ -264,8 +264,8 @@ object Kernel2Code extends lisa.Main {
264264
val s_0 = have(((x, (Q(x) ==> Q(f(x)))), (Q(x) ==> Q(f(x)))) (Q(x) ==> Q(f(x)))) by Restate
265265
val s_1 = thenHave((x, (Q(x) ==> Q(f(x)))) (Q(x) ==> Q(f(x)))) by LeftForall
266266
val s_2 = thenHave((x_1, (Q(x_1) ==> Q(f(x_1)))) (Q(f(x)) ==> Q(f(f(x))))) by InstFunSchema(Map(x -> f(x)))
267-
val s_3 = have(() ((x, (Q(x) ==> Q(f(x)))) ==> (Q(x) ==> Q(f(x))))) by Restate.from(s_1)
268-
val s_4 = have(() ((x_1, (Q(x_1) ==> Q(f(x_1)))) ==> (Q(f(x)) ==> Q(f(f(x)))))) by Restate.from(s_2)
267+
val s_3 = have(((x, (Q(x) ==> Q(f(x)))) ==> (Q(x) ==> Q(f(x))))) by Restate.from(s_1)
268+
val s_4 = have(((x_1, (Q(x_1) ==> Q(f(x_1)))) ==> (Q(f(x)) ==> Q(f(f(x)))))) by Restate.from(s_2)
269269
val s_5 = have(
270270
Q(f(x)) ¬((¬(((x_1, ¬((Q(x_1) ¬(Q(f(x_1)))))) ¬(Q(f(f(x)))))) ¬(((x, ¬((Q(x) ¬(Q(f(x)))))) Q(x) ¬())) (x, ¬((Q(x) ¬(Q(f(x)))))) Q(x) ¬(Q(f(f(x))))))
271271
) by Restate
@@ -281,7 +281,7 @@ object Kernel2Code extends lisa.Main {
281281
))
282282
) by Restate
283283
val s_9 = have(
284-
() ¬((¬(((x_1, ¬((Q(x_1) ¬(Q(f(x_1)))))) Q(f(x)) ¬(Q(f(f(x)))))) ¬(((x, ¬((Q(x) ¬(Q(f(x)))))) Q(x) ¬(Q(f(x))))) (x, ¬((Q(x) ¬(Q(f(x)))))) Q(x) ¬(Q(f(f(x))))))
284+
¬((¬(((x_1, ¬((Q(x_1) ¬(Q(f(x_1)))))) Q(f(x)) ¬(Q(f(f(x)))))) ¬(((x, ¬((Q(x) ¬(Q(f(x)))))) Q(x) ¬(Q(f(x))))) (x, ¬((Q(x) ¬(Q(f(x)))))) Q(x) ¬(Q(f(f(x))))))
285285
) by Cut(s_8, s_6)
286286
val s_10 = thenHave(((x, (Q(x) ==> Q(f(x)))), ((x, (Q(x) ==> Q(f(x)))) ==> (Q(x) ==> Q(f(x)))), ((x_1, (Q(x_1) ==> Q(f(x_1)))) ==> (Q(f(x)) ==> Q(f(f(x)))))) (Q(x) ==> Q(f(f(x))))) by Restate
287287
val s_11 = have(((x, (Q(x) ==> Q(f(x)))), ((x_1, (Q(x_1) ==> Q(f(x_1)))) ==> (Q(f(x)) ==> Q(f(f(x)))))) (Q(x) ==> Q(f(f(x))))) by Cut(s_3, s_10)

lisa-utils/src/main/scala/lisa/fol/Sequents.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -168,9 +168,8 @@ trait Sequents extends Common with lisa.fol.Lambdas with Predef {
168168
infix def ++?(s1: Sequent): Sequent = this addAllIfNotExists s1
169169

170170
override def toString =
171-
(if left.size == 0 then "" else if left.size == 1 then left.head.toString else "(" + left.mkString(", ") + ")") +
172-
"" +
173-
(if right.size == 0 then "" else if right.size == 1 then right.head.toString else "(" + right.mkString(", ") + ")")
171+
(if (left.size == 0 && right.size <= 1) then "" else if left.size == 1 then left.head.toString + "" else "(" + left.mkString(", ") + ") ⊢ ") +
172+
(if right.size == 1 then right.head.toString else "(" + right.mkString(", ") + ")")
174173

175174
}
176175

0 commit comments

Comments
 (0)