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