-
Notifications
You must be signed in to change notification settings - Fork 2
/
1_syntax.py
31 lines (26 loc) · 924 Bytes
/
1_syntax.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from schrl.tltl.predicate import NeuralPredicate, ProgrammablePredicate
from schrl.tltl.spec import DiffTLTLSpec
def test_syntax():
a = ProgrammablePredicate(lambda x: x < 10, "a")
spec1 = DiffTLTLSpec(a)
b = NeuralPredicate(None, "b") # type: ignore
spec2 = DiffTLTLSpec(b)
print(spec1 & spec2)
print(spec1 | spec2)
print(~spec1 | spec2)
print(~spec1 | spec2.eventually())
print(~(spec1 | spec2))
print(~spec1 | spec2 | spec1)
print(~spec1 | spec2 & spec1)
print(~(spec1 | spec2) & spec1)
print(~(~(spec1 | spec2)))
print(spec1.implies(spec2))
print(spec1.next())
print(~((spec1 | spec2).until(spec2)))
print(~((spec1 | spec2).eventually()))
print(~(spec1 | spec2).globally())
print((~(spec1 | spec2)).globally())
print(spec1.globally().until(spec2))
print(spec1.until(spec2).globally())
if __name__ == '__main__':
test_syntax()