Anne is big. Anne is blue. Anne is cold. Anne is furry. Anne is nice. Anne is rough. Anne is white. Fiona is blue. Fiona is not cold. Fiona is white. Harry is not blue. Harry is cold. Harry is furry. Harry is nice. Harry is rough. Harry is white. If something is white then it is big. If something is big then it is furry. If something is furry and not cold then it is rough.
Anne is big.
("Anne" "is" "big" "+")
Anne is blue.
("Anne" "is" "blue" "+")
Anne is cold.
("Anne" "is" "cold" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is white.
("Anne" "is" "white" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is not cold.
("Fiona" "is" "cold" "-")
Fiona is white.
("Fiona" "is" "white" "+")
Harry is not blue.
("Harry" "is" "blue" "-")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is white.
("Harry" "is" "white" "+")
If something is white then it is big.
((("something" "is" "white" "+")) -> ("something" "is" "big" "+"))
If something is big then it is furry.
((("something" "is" "big" "+")) -> ("something" "is" "furry" "+"))
If something is furry and not cold then it is rough.
((("something" "is" "furry" "+") ("something" "is" "cold" "~")) -> ("something" "is" "rough" "+"))
Anne is nice.
True
1
proof
[(triple5)]
("Anne" "is" "nice" "+")
triple5
Harry is not rough.
False
1
inv-proof
[(triple15)]
("Harry" "is" "rough" "-")
triple15
Fiona is big.
True
2
proof
[(((triple10) -> rule1))]
("Fiona" "is" "big" "+")
((triple10) -> (rule1 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Harry is not big.
False
2
inv-proof
[(((triple16) -> rule1))]
("Harry" "is" "big" "-")
((triple16) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Fiona is furry.
True
3
proof
[(((((triple10) -> rule1)) -> rule2))]
("Fiona" "is" "furry" "+")
((((triple10) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is not furry.
False
3
inv-proof
[(((((triple10) -> rule1)) -> rule2))]
("Fiona" "is" "furry" "-")
((((triple10) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is rough.
True
5
proof
[(((((((triple10) -> rule1)) -> rule2) triple9) -> rule3))]
("Fiona" "is" "rough" "+")
((((((triple10) -> (rule1 % int3))) -> (rule2 % int2)) triple9) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is not rough.
False
5
inv-proof
[(((((((triple10) -> rule1)) -> rule2) triple9) -> rule3))]
("Fiona" "is" "rough" "-")
((((((triple10) -> (rule1 % int3))) -> (rule2 % int2)) triple9) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
@0: Anne is big.[(triple1 OR ((triple7) -> rule1))] Anne is blue.[(triple2)] Anne is cold.[(triple3)] Anne is furry.[(triple4 OR ((triple1) -> rule2) OR ((((triple7) -> rule1)) -> rule2))] Anne is nice.[(triple5)] Anne is rough.[(triple6)] Anne is white.[(triple7)] Fiona is blue.[(triple8)] Fiona is not cold.[(triple9)] Fiona is white.[(triple10)] Harry is cold.[(triple12)] Harry is furry.[(triple13 OR ((((triple16) -> rule1)) -> rule2))] Harry is nice.[(triple14)] Harry is not blue.[(triple11)] Harry is rough.[(triple15)] Harry is white.[(triple16)] @1: Fiona is big.[(((triple10) -> rule1))] Harry is big.[(((triple16) -> rule1))] @2: Fiona is furry.[(((((triple10) -> rule1)) -> rule2))] @3: Fiona is rough.[(((((((triple10) -> rule1)) -> rule2) triple9) -> rule3))]
Anne is big.
("Anne" "is" "big" "+")
triple1
((triple7) -> (rule1 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
triple2
Anne is cold.
("Anne" "is" "cold" "+")
triple3
Anne is furry.
("Anne" "is" "furry" "+")
triple4
((triple1) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((((triple7) -> (rule1 % int2))) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
triple5
Anne is rough.
("Anne" "is" "rough" "+")
triple6
Anne is white.
("Anne" "is" "white" "+")
triple7
Fiona is blue.
("Fiona" "is" "blue" "+")
triple8
Fiona is not cold.
("Fiona" "is" "cold" "-")
triple9
Fiona is white.
("Fiona" "is" "white" "+")
triple10
Harry is cold.
("Harry" "is" "cold" "+")
triple12
Harry is furry.
("Harry" "is" "furry" "+")
triple13
((((triple16) -> (rule1 % int2))) -> (rule2 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
triple14
Harry is not blue.
("Harry" "is" "blue" "-")
triple11
Harry is rough.
("Harry" "is" "rough" "+")
triple15
Harry is white.
("Harry" "is" "white" "+")
triple16
Fiona is big.
("Fiona" "is" "big" "+")
((triple10) -> (rule1 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
((triple16) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
((((triple10) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
((((((triple10) -> (rule1 % int3))) -> (rule2 % int2)) triple9) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3