Bob is not blue. Charlie is blue. Charlie is cold. Charlie is not red. Charlie is young. Erin is cold. Erin is rough. Erin is not smart. Fiona is blue. Fiona is cold. If someone is big and cold then they are smart. All smart people are blue. All smart people are not red. Blue people are big. If someone is big and not red then they are young. If someone is red and big then they are young. If Fiona is blue and Fiona is young then Fiona is rough.
Bob is not blue.
("Bob" "is" "blue" "-")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is not red.
("Charlie" "is" "red" "-")
Charlie is young.
("Charlie" "is" "young" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is not smart.
("Erin" "is" "smart" "-")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
If someone is big and cold then they are smart.
((("someone" "is" "big" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "smart" "+"))
All smart people are blue.
((("someone" "is" "smart" "+")) -> ("someone" "is" "blue" "+"))
All smart people are not red.
((("someone" "is" "smart" "+")) -> ("someone" "is" "red" "-"))
Blue people are big.
((("someone" "is" "blue" "+")) -> ("someone" "is" "big" "+"))
If someone is big and not red then they are young.
((("someone" "is" "big" "+") ("someone" "is" "red" "~")) -> ("someone" "is" "young" "+"))
If someone is red and big then they are young.
((("someone" "is" "red" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "young" "+"))
If Fiona is blue and Fiona is young then Fiona is rough.
((("Fiona" "is" "blue" "+") ("Fiona" "is" "young" "+")) -> ("Fiona" "is" "rough" "+"))
Bob is not blue.
True
1
proof
[(triple1)]
("Bob" "is" "blue" "-")
triple1
Charlie is not cold.
False
1
inv-proof
[(triple3)]
("Charlie" "is" "cold" "-")
triple3
Fiona is big.
True
2
proof
[(((triple9) -> rule4))]
("Fiona" "is" "big" "+")
((triple9) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is not big.
False
2
inv-proof
[(((triple9) -> rule4))]
("Fiona" "is" "big" "-")
((triple9) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Charlie is smart.
True
4
proof
[(((((triple2) -> rule4) triple3) -> rule1))]
("Charlie" "is" "smart" "+")
((((triple2) -> (rule4 % int2)) triple3) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Fiona is not smart.
False
4
inv-proof
[(((((triple9) -> rule4) triple10) -> rule1))]
("Fiona" "is" "smart" "-")
((((triple9) -> (rule4 % int2)) triple10) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is not red.
True
5
proof
[(((((((triple9) -> rule4) triple10) -> rule1)) -> rule3))]
("Fiona" "is" "red" "-")
((((((triple9) -> (rule4 % int3)) triple10) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is not red.
("Fiona" "is" "red" "-")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is red.
False
5
inv-proof
[(((((((triple9) -> rule4) triple10) -> rule1)) -> rule3))]
("Fiona" "is" "red" "+")
((((((triple9) -> (rule4 % int3)) triple10) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is not red.
("Fiona" "is" "red" "-")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is young.
True
8
proof
[(((((triple9) -> rule4) ((((((triple9) -> rule4) triple10) -> rule1)) -> rule3)) -> rule5))]
("Fiona" "is" "young" "+")
((((triple9) -> (rule4 % int4)) ((((((triple9) -> (rule4 % int4)) triple10) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is not red.
("Fiona" "is" "red" "-")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is big.
("Fiona" "is" "big" "+")
int4
Fiona is not young.
False
8
inv-proof
[(((((triple9) -> rule4) ((((((triple9) -> rule4) triple10) -> rule1)) -> rule3)) -> rule5))]
("Fiona" "is" "young" "-")
((((triple9) -> (rule4 % int4)) ((((((triple9) -> (rule4 % int4)) triple10) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is not red.
("Fiona" "is" "red" "-")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is big.
("Fiona" "is" "big" "+")
int4
Fiona is rough.
True
10
proof
[(((triple9 ((((triple9) -> rule4) ((((((triple9) -> rule4) triple10) -> rule1)) -> rule3)) -> rule5)) -> rule7))]
("Fiona" "is" "rough" "+")
((triple9 ((((triple9) -> (rule4 % int5)) ((((((triple9) -> (rule4 % int5)) triple10) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is not red.
("Fiona" "is" "red" "-")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
Fiona is big.
("Fiona" "is" "big" "+")
int5
Fiona is not rough.
False
10
inv-proof
[(((triple9 ((((triple9) -> rule4) ((((((triple9) -> rule4) triple10) -> rule1)) -> rule3)) -> rule5)) -> rule7))]
("Fiona" "is" "rough" "-")
((triple9 ((((triple9) -> (rule4 % int5)) ((((((triple9) -> (rule4 % int5)) triple10) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is not red.
("Fiona" "is" "red" "-")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
Fiona is big.
("Fiona" "is" "big" "+")
int5
Erin is not young.
Unknown
inv-rconc
[@1: Erin is young.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Erin" "is" "young" "-")
Erin is blue.
Unknown
rconc
[@1: Erin is blue.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Erin" "is" "blue" "+")
Bob is not big.
Unknown
inv-rconc
[@1: Bob is big.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Bob" "is" "big" "-")
Bob is smart.
Unknown
rconc
[@1: Bob is smart.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Bob" "is" "smart" "+")
Bob is not young.
Unknown
inv-rconc
[@1: Bob is young.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Bob" "is" "young" "-")
Erin is big.
Unknown
rconc
[@2: Erin is big.[CWA. Example of deepest failure = (rule4 <- rule2 <- FAIL)]]
("Erin" "is" "big" "+")
Erin is not red.
Unknown
inv-random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "-")
Bob is cold.
Unknown
random
[@0: Bob is cold.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "cold" "+")
Bob is not red.
Unknown
inv-random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "-")
Bob is rough.
Unknown
random
[@0: Bob is rough.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "rough" "+")
@0: Bob is not blue.[(triple1)] Charlie is blue.[(triple2)] Charlie is cold.[(triple3)] Charlie is not red.[(triple4 OR ((((((triple2) -> rule4) triple3) -> rule1)) -> rule3))] Charlie is young.[(triple5 OR ((((triple2) -> rule4) triple4) -> rule5) OR ((((triple2) -> rule4) ((((((triple2) -> rule4) triple3) -> rule1)) -> rule3)) -> rule5))] Erin is cold.[(triple6)] Erin is not smart.[(triple8)] Erin is rough.[(triple7)] Fiona is blue.[(triple9)] Fiona is cold.[(triple10)] @1: Charlie is big.[(((triple2) -> rule4))] Fiona is big.[(((triple9) -> rule4))] @2: Charlie is smart.[(((((triple2) -> rule4) triple3) -> rule1))] Fiona is smart.[(((((triple9) -> rule4) triple10) -> rule1))] @3: Fiona is not red.[(((((((triple9) -> rule4) triple10) -> rule1)) -> rule3))] @4: Fiona is young.[(((((triple9) -> rule4) ((((((triple9) -> rule4) triple10) -> rule1)) -> rule3)) -> rule5))] @5: Fiona is rough.[(((triple9 ((((triple9) -> rule4) ((((((triple9) -> rule4) triple10) -> rule1)) -> rule3)) -> rule5)) -> rule7))]
Bob is not blue.
("Bob" "is" "blue" "-")
triple1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple2
Charlie is cold.
("Charlie" "is" "cold" "+")
triple3
Charlie is not red.
("Charlie" "is" "red" "-")
triple4
((((((triple2) -> (rule4 % int3)) triple3) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is not red.
("Charlie" "is" "red" "-")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
triple5
((((triple2) -> (rule4 % int2)) triple4) -> (rule5 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
((((triple2) -> (rule4 % int4)) ((((((triple2) -> (rule4 % int4)) triple3) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is not red.
("Charlie" "is" "red" "-")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
Erin is cold.
("Erin" "is" "cold" "+")
triple6
Erin is not smart.
("Erin" "is" "smart" "-")
triple8
Erin is rough.
("Erin" "is" "rough" "+")
triple7
Fiona is blue.
("Fiona" "is" "blue" "+")
triple9
Fiona is cold.
("Fiona" "is" "cold" "+")
triple10
Charlie is big.
("Charlie" "is" "big" "+")
((triple2) -> (rule4 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
((triple9) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
((((triple2) -> (rule4 % int2)) triple3) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
((((triple9) -> (rule4 % int2)) triple10) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is not red.
("Fiona" "is" "red" "-")
((((((triple9) -> (rule4 % int3)) triple10) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is not red.
("Fiona" "is" "red" "-")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
((((triple9) -> (rule4 % int4)) ((((((triple9) -> (rule4 % int4)) triple10) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is not red.
("Fiona" "is" "red" "-")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is big.
("Fiona" "is" "big" "+")
int4
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple9 ((((triple9) -> (rule4 % int5)) ((((((triple9) -> (rule4 % int5)) triple10) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is not red.
("Fiona" "is" "red" "-")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
Fiona is big.
("Fiona" "is" "big" "+")
int5