Bob is cold. Bob is not quiet. Bob is smart. Fiona is big. Fiona is not nice. Fiona is quiet. Fiona is rough. If Bob is young and Bob is rough then Bob is not smart. All quiet people are big. All rough, quiet people are smart. If someone is big and not nice then they are smart. If Fiona is rough and Fiona is not young then Fiona is cold. If Bob is nice and Bob is not rough then Bob is not cold.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is not quiet.
("Bob" "is" "quiet" "-")
Bob is smart.
("Bob" "is" "smart" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is not nice.
("Fiona" "is" "nice" "-")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
If Bob is young and Bob is rough then Bob is not smart.
((("Bob" "is" "young" "+") ("Bob" "is" "rough" "+")) -> ("Bob" "is" "smart" "-"))
All quiet people are big.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "big" "+"))
All rough, quiet people are smart.
((("someone" "is" "rough" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "smart" "+"))
If someone is big and not nice then they are smart.
((("someone" "is" "big" "+") ("someone" "is" "nice" "~")) -> ("someone" "is" "smart" "+"))
If Fiona is rough and Fiona is not young then Fiona is cold.
((("Fiona" "is" "rough" "+") ("Fiona" "is" "young" "~")) -> ("Fiona" "is" "cold" "+"))
If Bob is nice and Bob is not rough then Bob is not cold.
((("Bob" "is" "nice" "+") ("Bob" "is" "rough" "~")) -> ("Bob" "is" "cold" "-"))
Bob is smart.
True
1
proof
[(triple3)]
("Bob" "is" "smart" "+")
triple3
Fiona is not quiet.
False
1
inv-proof
[(triple6)]
("Fiona" "is" "quiet" "-")
triple6
Fiona is smart.
True
3
proof
[(((triple4 triple5) -> rule4) OR ((triple7 triple6) -> rule3) OR ((((triple6) -> rule2) triple5) -> rule4))]
("Fiona" "is" "smart" "+")
((triple4 triple5) -> (rule4 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((triple7 triple6) -> (rule3 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((((triple6) -> (rule2 % int2)) triple5) -> (rule4 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is not smart.
False
3
inv-proof
[(((triple4 triple5) -> rule4) OR ((triple7 triple6) -> rule3) OR ((((triple6) -> rule2) triple5) -> rule4))]
("Fiona" "is" "smart" "-")
((triple4 triple5) -> (rule4 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((triple7 triple6) -> (rule3 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((((triple6) -> (rule2 % int2)) triple5) -> (rule4 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is not cold.
Unknown
inv-rconc
[@1: Fiona is cold.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Fiona" "is" "cold" "-")
Bob is big.
Unknown
rconc
[@1: Bob is big.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "big" "+")
Fiona is not young.
Unknown
inv-random
[@0: Fiona is young.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "young" "-")
Bob is rough.
Unknown
random
[@0: Bob is rough.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "rough" "+")
@0: Bob is cold.[(triple1)] Bob is not quiet.[(triple2)] Bob is smart.[(triple3)] Fiona is big.[(triple4 OR ((triple6) -> rule2))] Fiona is not nice.[(triple5)] Fiona is quiet.[(triple6)] Fiona is rough.[(triple7)] @1: Fiona is smart.[(((triple4 triple5) -> rule4) OR ((triple7 triple6) -> rule3) OR ((((triple6) -> rule2) triple5) -> rule4))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is not quiet.
("Bob" "is" "quiet" "-")
triple2
Bob is smart.
("Bob" "is" "smart" "+")
triple3
Fiona is big.
("Fiona" "is" "big" "+")
triple4
((triple6) -> (rule2 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is not nice.
("Fiona" "is" "nice" "-")
triple5
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple6
Fiona is rough.
("Fiona" "is" "rough" "+")
triple7
Fiona is smart.
("Fiona" "is" "smart" "+")
((triple4 triple5) -> (rule4 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((triple7 triple6) -> (rule3 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((((triple6) -> (rule2 % int2)) triple5) -> (rule4 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2