Step-by-step derivation
S001 · implies
Before
n=4;given facts=[0];original indexed rules=[[0, 0, 1], [1, 1, 2], [2, 2, 3]]
After
use only given facts and single-premise MP;not-derived does not mean False
Conditions: none
Atoms use0-based indices and a rule i→j requires an already derived i.A cycle without facts cannot generate conclusions.Not-derived is not False,and this finite check is not general logical completeness.
Step identifiers and dependencies
Rule: given_unary_MP_scope · Uses: G001
S002 · implies
Before
phase=before;given facts=[0]
After
phase=before;active_rules=[0,1,2]
Conditions: none
Start from all given facts,retaining original rule-row indices.Atoms with no derived premises remain not-derived.
Step identifiers and dependencies
Rule: horn_closure_start · Uses: G001, S001
S003 · implies
Before
phase=before;given fact=0
After
phase=before;derive atom=0;depth=0;basis=given
Conditions: none
A supplied fact has depth0 and needs no MP antecedent;other atoms are not silently made facts.
Step identifiers and dependencies
Rule: horn_given_fact · Uses: G001, S002
S004 · calculation
Before
before MP depth for atom1 := sum(0, 1)
After
before MP depth for atom1 = 1
Conditions: none
One MP application adds1 to the already known antecedent depth.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S003
S005 · implies
Before
phase=before;rule[0]=0→1;antecedent depth=0
After
phase=before;derive atom=1;depth=1;from=0;rule=0
Conditions: none
An already derived antecedent and this given rule yield the target for the first time.Expand the queue in nondecreasing depth order.
Step identifiers and dependencies
Rule: horn_MP_derivation · Uses: G001, S004
S006 · calculation
Before
before MP depth for atom2 := sum(1, 1)
After
before MP depth for atom2 = 2
Conditions: none
One MP application adds1 to the already known antecedent depth.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S005
S007 · implies
Before
phase=before;rule[1]=1→2;antecedent depth=1
After
phase=before;derive atom=2;depth=2;from=1;rule=1
Conditions: none
An already derived antecedent and this given rule yield the target for the first time.Expand the queue in nondecreasing depth order.
Step identifiers and dependencies
Rule: horn_MP_derivation · Uses: G001, S006
S008 · calculation
Before
before MP depth for atom3 := sum(2, 1)
After
before MP depth for atom3 = 3
Conditions: none
One MP application adds1 to the already known antecedent depth.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S007
S009 · implies
Before
phase=before;rule[2]=2→3;antecedent depth=2
After
phase=before;derive atom=3;depth=3;from=2;rule=2
Conditions: none
An already derived antecedent and this given rule yield the target for the first time.Expand the queue in nondecreasing depth order.
Step identifiers and dependencies
Rule: horn_MP_derivation · Uses: G001, S008
S010 · implies
Before
phase=before;edge closure/depth audits=[[0, 0, 1, 0, 1, Yes], [1, 1, 2, 1, 2, Yes], [2, 2, 3, 2, 3, Yes]]
After
phase=before;depths=[0,1,2,3]
Conditions: none
Every derived atom has a displayed chain of that length.The reached set is closed under every given edge and satisfies the depth bounds,so any shorter chain would force a smaller label.These labels are shortest;null means not-derived in this rule model,not False.
Step identifiers and dependencies
Rule: horn_closed_depth_certificate · Uses: G001, S009
S011 · implies
Before
remove original rule rows=[2]
After
retained original indices=[0, 1]
Conditions: none
Remove by original row index;duplicate-content rows still have distinct indices.Do not renumber before interpreting the removal list.
Step identifiers and dependencies
Rule: horn_original_rule_index_removal · Uses: G001, S010
S012 · implies
Before
phase=after;given facts=[0]
After
phase=after;active_rules=[0,1]
Conditions: none
Start from all given facts,retaining original rule-row indices.Atoms with no derived premises remain not-derived.
Step identifiers and dependencies
Rule: horn_closure_start · Uses: G001, S011
S013 · implies
Before
phase=after;given fact=0
After
phase=after;derive atom=0;depth=0;basis=given
Conditions: none
A supplied fact has depth0 and needs no MP antecedent;other atoms are not silently made facts.
Step identifiers and dependencies
Rule: horn_given_fact · Uses: G001, S012
S014 · calculation
Before
after MP depth for atom1 := sum(0, 1)
After
after MP depth for atom1 = 1
Conditions: none
One MP application adds1 to the already known antecedent depth.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S013
S015 · implies
Before
phase=after;rule[0]=0→1;antecedent depth=0
After
phase=after;derive atom=1;depth=1;from=0;rule=0
Conditions: none
An already derived antecedent and this given rule yield the target for the first time.Expand the queue in nondecreasing depth order.
Step identifiers and dependencies
Rule: horn_MP_derivation · Uses: G001, S014
S016 · calculation
Before
after MP depth for atom2 := sum(1, 1)
After
after MP depth for atom2 = 2
Conditions: none
One MP application adds1 to the already known antecedent depth.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S015
S017 · implies
Before
phase=after;rule[1]=1→2;antecedent depth=1
After
phase=after;derive atom=2;depth=2;from=1;rule=1
Conditions: none
An already derived antecedent and this given rule yield the target for the first time.Expand the queue in nondecreasing depth order.
Step identifiers and dependencies
Rule: horn_MP_derivation · Uses: G001, S016
S018 · implies
Before
phase=after;edge closure/depth audits=[[0, 0, 1, 0, 1, Yes], [1, 1, 2, 1, 2, Yes]]
After
phase=after;depths=[0,1,2,null]
Conditions: none
Every derived atom has a displayed chain of that length.The reached set is closed under every given edge and satisfies the depth bounds,so any shorter chain would force a smaller label.These labels are shortest;null means not-derived in this rule model,not False.
Step identifiers and dependencies
Rule: horn_closed_depth_certificate · Uses: G001, S017
S019 · implies
Before
goal=3;before=3;after=not obtained
After
derivability changed=Yes
Conditions: none
A derivability change concerns derived versus not-derived.If the shortest depth grows but the goal remains derived,the third field is still No.Removing rules cannot invent proofs.
Step identifiers and dependencies
Rule: horn_reachability_vs_depth_change · Uses: G001, S018