Bob is kind. Bob is red. Bob is rough. Bob is smart. Dave is cold. Dave is kind. Dave is young. Fiona is red. Fiona is round. Fiona is smart. If Bob is round then Bob is red. Cold, rough things are kind. If something is round and rough then it is smart. Young things are rough. Rough things are cold. All rough, young things are cold. All young, rough things are round. If Fiona is kind then Fiona is red.
Bob is kind.
("Bob" "is" "kind" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is young.
("Dave" "is" "young" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
If Bob is round then Bob is red.
((("Bob" "is" "round" "+")) -> ("Bob" "is" "red" "+"))
Cold, rough things are kind.
((("something" "is" "cold" "+") ("something" "is" "rough" "+")) -> ("something" "is" "kind" "+"))
If something is round and rough then it is smart.
((("something" "is" "round" "+") ("something" "is" "rough" "+")) -> ("something" "is" "smart" "+"))
Young things are rough.
((("something" "is" "young" "+")) -> ("something" "is" "rough" "+"))
Rough things are cold.
((("something" "is" "rough" "+")) -> ("something" "is" "cold" "+"))
All rough, young things are cold.
((("something" "is" "rough" "+") ("something" "is" "young" "+")) -> ("something" "is" "cold" "+"))
All young, rough things are round.
((("something" "is" "young" "+") ("something" "is" "rough" "+")) -> ("something" "is" "round" "+"))
If Fiona is kind then Fiona is red.
((("Fiona" "is" "kind" "+")) -> ("Fiona" "is" "red" "+"))
Dave is kind.
True
1
proof
[(triple6 OR ((triple5 ((triple7) -> rule4)) -> rule2) OR ((((((triple7) -> rule4)) -> rule5) ((triple7) -> rule4)) -> rule2) OR ((((((triple7) -> rule4) triple7) -> rule6) ((triple7) -> rule4)) -> rule2))]
("Dave" "is" "kind" "+")
triple6
((triple5 ((triple7) -> (rule4 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((((((triple7) -> (rule4 % int3))) -> (rule5 % int2)) ((triple7) -> (rule4 % int3))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((((((triple7) -> (rule4 % int3)) triple7) -> (rule6 % int2)) ((triple7) -> (rule4 % int3))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is not young.
False
1
inv-proof
[(triple7)]
("Dave" "is" "young" "-")
triple7
Dave is rough.
True
2
proof
[(((triple7) -> rule4))]
("Dave" "is" "rough" "+")
((triple7) -> (rule4 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Bob is not cold.
False
2
inv-proof
[(((triple3) -> rule5))]
("Bob" "is" "cold" "-")
((triple3) -> (rule5 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Fiona is not kind.
Unknown
inv-rconc
[@2: Fiona is kind.[CWA. Example of deepest failure = (rule2 <- rule4 <- FAIL)]]
("Fiona" "is" "kind" "-")
Fiona is rough.
Unknown
rconc
[@1: Fiona is rough.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Fiona" "is" "rough" "+")
Dave is not red.
Unknown
inv-random
[@0: Dave is red.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "red" "-")
Fiona is young.
Unknown
random
[@0: Fiona is young.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "young" "+")
@0: Bob is kind.[(triple1 OR ((((triple3) -> rule5) triple3) -> rule2))] Bob is red.[(triple2)] Bob is rough.[(triple3)] Bob is smart.[(triple4)] Dave is cold.[(triple5 OR ((((triple7) -> rule4)) -> rule5) OR ((((triple7) -> rule4) triple7) -> rule6))] Dave is kind.[(triple6 OR ((triple5 ((triple7) -> rule4)) -> rule2) OR ((((((triple7) -> rule4)) -> rule5) ((triple7) -> rule4)) -> rule2) OR ((((((triple7) -> rule4) triple7) -> rule6) ((triple7) -> rule4)) -> rule2))] Dave is young.[(triple7)] Fiona is red.[(triple8)] Fiona is round.[(triple9)] Fiona is smart.[(triple10)] @1: Bob is cold.[(((triple3) -> rule5))] Dave is rough.[(((triple7) -> rule4))] @2: Dave is round.[(((triple7 ((triple7) -> rule4)) -> rule7))] @3: Dave is smart.[(((((triple7 ((triple7) -> rule4)) -> rule7) ((triple7) -> rule4)) -> rule3))]
Bob is kind.
("Bob" "is" "kind" "+")
triple1
((((triple3) -> (rule5 % int2)) triple3) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
triple2
Bob is rough.
("Bob" "is" "rough" "+")
triple3
Bob is smart.
("Bob" "is" "smart" "+")
triple4
Dave is cold.
("Dave" "is" "cold" "+")
triple5
((((triple7) -> (rule4 % int2))) -> (rule5 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((((triple7) -> (rule4 % int2)) triple7) -> (rule6 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
triple6
((triple5 ((triple7) -> (rule4 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((((((triple7) -> (rule4 % int3))) -> (rule5 % int2)) ((triple7) -> (rule4 % int3))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((((((triple7) -> (rule4 % int3)) triple7) -> (rule6 % int2)) ((triple7) -> (rule4 % int3))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
triple7
Fiona is red.
("Fiona" "is" "red" "+")
triple8
Fiona is round.
("Fiona" "is" "round" "+")
triple9
Fiona is smart.
("Fiona" "is" "smart" "+")
triple10
Bob is cold.
("Bob" "is" "cold" "+")
((triple3) -> (rule5 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
((triple7) -> (rule4 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
((triple7 ((triple7) -> (rule4 % int2))) -> (rule7 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
((((triple7 ((triple7) -> (rule4 % int3))) -> (rule7 % int2)) ((triple7) -> (rule4 % int3))) -> (rule3 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3