PREFIX log: <http://www.w3.org/2000/10/swap/log#>
PREFIX : <http://example.com/>
PREFIX r: <http://www.w3.org/2000/10/swap/reason#>

[] a r:Proof, r:Conjunction;
  r:component <#lemma1>;
  r:component <#lemma2>;
  r:component <#lemma3>;
  r:component <#lemma4>;
  r:component <#lemma5>;
  r:component <#lemma6>;
  r:gives {
    :workflowA a :Workflow.
    :taskA a :Completed.
    :taskB a :Completed.
    :workflowA :includes :taskA.
    :workflowA :includes :taskB.
    :workflowA :completed (:taskA :taskB).
  }.

<#lemma1> a r:Inference;
  r:gives {
    :workflowA a :Workflow.
  };
  r:evidence (
    <#lemma7>
  );
  r:rule <#lemma8>.

<#lemma2> a r:Inference;
  r:gives {
    :taskA a :Completed.
  };
  r:evidence (
    <#lemma9>
  );
  r:rule <#lemma8>.

<#lemma3> a r:Inference;
  r:gives {
    :taskB a :Completed.
  };
  r:evidence (
    <#lemma10>
  );
  r:rule <#lemma8>.

<#lemma4> a r:Inference;
  r:gives {
    :workflowA :includes :taskA.
  };
  r:evidence (
    <#lemma11>
  );
  r:rule <#lemma8>.

<#lemma5> a r:Inference;
  r:gives {
    :workflowA :includes :taskB.
  };
  r:evidence (
    <#lemma12>
  );
  r:rule <#lemma8>.

<#lemma6> a r:Inference;
  r:gives {
    :workflowA :completed (:taskA :taskB).
  };
  r:evidence (
    <#lemma13>
  );
  r:rule <#lemma8>.

<#lemma7> a r:Extraction;
  r:gives {
    :workflowA a :Workflow.
  };
  r:because [ a r:Parsing; r:source <http://josd.github.io/eye/reasoning/twf/example28.n3>].

<#lemma8> a r:Extraction;
  r:gives {
    {?x_1_1 ?x_0_1 ?x_2_1} => {?x_1_1 ?x_0_1 ?x_2_1}.
  };
  r:because [ a r:Parsing; r:source <http://eulersharp.sourceforge.net/2003/03swap/pass>].

<#lemma9> a r:Extraction;
  r:gives {
    :taskA a :Completed.
  };
  r:because [ a r:Parsing; r:source <http://josd.github.io/eye/reasoning/twf/example28.n3>].

<#lemma10> a r:Extraction;
  r:gives {
    :taskB a :Completed.
  };
  r:because [ a r:Parsing; r:source <http://josd.github.io/eye/reasoning/twf/example28.n3>].

<#lemma11> a r:Extraction;
  r:gives {
    :workflowA :includes :taskA.
  };
  r:because [ a r:Parsing; r:source <http://josd.github.io/eye/reasoning/twf/example28.n3>].

<#lemma12> a r:Extraction;
  r:gives {
    :workflowA :includes :taskB.
  };
  r:because [ a r:Parsing; r:source <http://josd.github.io/eye/reasoning/twf/example28.n3>].

<#lemma13> a r:Inference;
  r:gives {
    :workflowA :completed (:taskA :taskB).
  };
  r:evidence (
    <#lemma7>
    [ a r:Fact; r:gives {(_:sk_0 {:workflowA :includes _:sk_0.
     _:sk_0 a :Completed} (:taskA :taskB)) log:collectAllIn ((<http://josd.github.io/eye/reasoning/twf/example28.n3>) 1)}]
  );
  r:rule <#lemma14>.

<#lemma14> a r:Extraction;
  r:gives {
    {?x_0_2 a :Workflow.
     (?x_1_2 {?x_0_2 :includes ?x_1_2.
      ?x_1_2 a :Completed} ?x_2_2) log:collectAllIn ?x_3_2} => {?x_0_2 :completed ?x_2_2}.
  };
  r:because [ a r:Parsing; r:source <http://josd.github.io/eye/reasoning/twf/example28.n3>].

