Bob is cold. Bob is furry. Bob is kind. Bob is rough. Bob is round. Charlie is cold. Charlie is kind. Fiona is cold. Fiona is round. Harry is big. Harry is cold. Harry is round. All furry people are kind. All rough, big people are cold. All kind people are round. If Harry is kind then Harry is cold. All round people are big. Cold people are round. If someone is round and rough then they are big. If Harry is furry and Harry is smart then Harry is kind.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is round.
("Bob" "is" "round" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is round.
("Harry" "is" "round" "+")
All furry people are kind.
((("someone" "is" "furry" "+")) -> ("someone" "is" "kind" "+"))
All rough, big people are cold.
((("someone" "is" "rough" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "cold" "+"))
All kind people are round.
((("someone" "is" "kind" "+")) -> ("someone" "is" "round" "+"))
If Harry is kind then Harry is cold.
((("Harry" "is" "kind" "+")) -> ("Harry" "is" "cold" "+"))
All round people are big.
((("someone" "is" "round" "+")) -> ("someone" "is" "big" "+"))
Cold people are round.
((("someone" "is" "cold" "+")) -> ("someone" "is" "round" "+"))
If someone is round and rough then they are big.
((("someone" "is" "round" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "big" "+"))
If Harry is furry and Harry is smart then Harry is kind.
((("Harry" "is" "furry" "+") ("Harry" "is" "smart" "+")) -> ("Harry" "is" "kind" "+"))
Bob is furry.
True
1
proof
[(triple2)]
("Bob" "is" "furry" "+")
triple2
Harry is not cold.
False
1
inv-proof
[(triple11)]
("Harry" "is" "cold" "-")
triple11
Charlie is round.
True
2
proof
[(((triple6) -> rule6) OR ((triple7) -> rule3))]
("Charlie" "is" "round" "+")
((triple6) -> (rule6 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
((triple7) -> (rule3 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Fiona is not big.
False
2
inv-proof
[(((triple9) -> rule5) OR ((((triple8) -> rule6)) -> rule5))]
("Fiona" "is" "big" "-")
((triple9) -> (rule5 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((((triple8) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Charlie is big.
True
3
proof
[(((((triple6) -> rule6)) -> rule5) OR ((((triple7) -> rule3)) -> rule5))]
("Charlie" "is" "big" "+")
((((triple6) -> (rule6 % int2))) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
((((triple7) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is not big.
False
3
inv-proof
[(((((triple6) -> rule6)) -> rule5) OR ((((triple7) -> rule3)) -> rule5))]
("Charlie" "is" "big" "-")
((((triple6) -> (rule6 % int2))) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
((((triple7) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Fiona is not kind.
Unknown
inv-rconc
[@1: Fiona is kind.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fiona" "is" "kind" "-")
Harry is kind.
Unknown
rconc
[@1: Harry is kind.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Harry" "is" "kind" "+")
Bob is not smart.
Unknown
inv-random
[@0: Bob is smart.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "smart" "-")
Harry is furry.
Unknown
random
[@0: Harry is furry.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "furry" "+")
Charlie is not smart.
Unknown
inv-random
[@0: Charlie is smart.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "smart" "-")
Fiona is furry.
Unknown
random
[@0: Fiona is furry.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "furry" "+")
@0: Bob is cold.[(triple1 OR ((triple4 ((triple5) -> rule5)) -> rule2) OR ((triple4 ((triple5 triple4) -> rule7)) -> rule2) OR ((triple4 ((((triple3) -> rule3)) -> rule5)) -> rule2) OR ((triple4 ((((triple3) -> rule3) triple4) -> rule7)) -> rule2) OR ((triple4 ((((((triple2) -> rule1)) -> rule3)) -> rule5)) -> rule2) OR ((triple4 ((((((triple2) -> rule1)) -> rule3) triple4) -> rule7)) -> rule2))] Bob is furry.[(triple2)] Bob is kind.[(triple3 OR ((triple2) -> rule1))] Bob is rough.[(triple4)] Bob is round.[(triple5 OR ((triple1) -> rule6) OR ((triple3) -> rule3) OR ((((triple2) -> rule1)) -> rule3))] Charlie is cold.[(triple6)] Charlie is kind.[(triple7)] Fiona is cold.[(triple8)] Fiona is round.[(triple9 OR ((triple8) -> rule6))] Harry is big.[(triple10 OR ((triple12) -> rule5) OR ((((triple11) -> rule6)) -> rule5))] Harry is cold.[(triple11)] Harry is round.[(triple12 OR ((triple11) -> rule6))] @1: Bob is big.[(((triple5) -> rule5) OR ((triple5 triple4) -> rule7) OR ((((triple1) -> rule6)) -> rule5) OR ((((triple3) -> rule3)) -> rule5) OR ((((triple1) -> rule6) triple4) -> rule7) OR ((((triple3) -> rule3) triple4) -> rule7) OR ((((((triple2) -> rule1)) -> rule3)) -> rule5) OR ((((((triple2) -> rule1)) -> rule3) triple4) -> rule7))] Charlie is round.[(((triple6) -> rule6) OR ((triple7) -> rule3))] Fiona is big.[(((triple9) -> rule5) OR ((((triple8) -> rule6)) -> rule5))] @2: Charlie is big.[(((((triple6) -> rule6)) -> rule5) OR ((((triple7) -> rule3)) -> rule5))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
((triple4 ((triple5) -> (rule5 % int2))) -> (rule2 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((triple4 ((triple5 triple4) -> (rule7 % int2))) -> (rule2 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((triple4 ((((triple3) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
((triple4 ((((triple3) -> (rule3 % int3)) triple4) -> (rule7 % int2))) -> (rule2 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
((triple4 ((((((triple2) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4
((triple4 ((((((triple2) -> (rule1 % int4))) -> (rule3 % int3)) triple4) -> (rule7 % int2))) -> (rule2 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4
Bob is furry.
("Bob" "is" "furry" "+")
triple2
Bob is kind.
("Bob" "is" "kind" "+")
triple3
((triple2) -> (rule1 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
triple4
Bob is round.
("Bob" "is" "round" "+")
triple5
((triple1) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple3) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((((triple2) -> (rule1 % int2))) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
triple6
Charlie is kind.
("Charlie" "is" "kind" "+")
triple7
Fiona is cold.
("Fiona" "is" "cold" "+")
triple8
Fiona is round.
("Fiona" "is" "round" "+")
triple9
((triple8) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
triple10
((triple12) -> (rule5 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((((triple11) -> (rule6 % int2))) -> (rule5 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
triple11
Harry is round.
("Harry" "is" "round" "+")
triple12
((triple11) -> (rule6 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
((triple5) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple5 triple4) -> (rule7 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((((triple1) -> (rule6 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((((triple3) -> (rule3 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((((triple1) -> (rule6 % int2)) triple4) -> (rule7 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((((triple3) -> (rule3 % int2)) triple4) -> (rule7 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((((((triple2) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
((((((triple2) -> (rule1 % int3))) -> (rule3 % int2)) triple4) -> (rule7 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
((triple6) -> (rule6 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
((triple7) -> (rule3 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
((triple9) -> (rule5 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((((triple8) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
((((triple6) -> (rule6 % int2))) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
((((triple7) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2