#Processed by EYE v20.1020.2137 josd
#eye --no-genid http://josd.github.io/eye/reasoning/csv/select-data-extra.n3 --query http://josd.github.io/eye/reasoning/csv/select-query.n3

@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
@prefix : <http://eulersharp.sourceforge.net/try#>.
@prefix e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>.
@prefix r: <http://www.w3.org/2000/10/swap/reason#>.
@prefix var: <http://josd.github.io/var#>.
@prefix n3: <http://www.w3.org/2004/06/rei#>.

[] a r:Proof, r:Conjunction;
  r:component <#lemma1>;
  r:component <#lemma2>;
  r:component <#lemma3>;
  r:component <#lemma4>;
  r:component <#lemma5>;
  r:gives {
    _:sk_2 e:csvTuple (:s :p101 _:sk_0 (:a :b :c) _:sk_1).
    _:sk_5 e:csvTuple (:s :p102 _:sk_3 {:d :e :f} _:sk_4).
    _:sk_8 e:csvTuple (:s :p103 _:sk_6 {:g :h :i.
     :j :k :l} _:sk_7).
    _:sk_11 e:csvTuple (:s :p104 _:sk_9 {:m :n :o.
     (:p :q :r) :s :t} _:sk_10).
    _:sk_14 e:csvTuple (:s :p105 _:sk_12 {(:u :v) :w {:x :y :z}} _:sk_13).
  }.

<#lemma1> a r:Inference;
  r:gives {
    _:sk_2 e:csvTuple (:s :p101 _:sk_0 (:a :b :c) _:sk_1).
  };
  r:evidence (
    <#lemma6>
    [ a r:Fact; r:gives {((<http://josd.github.io/eye/reasoning/csv/select-data-extra.n3>) 1) e:optional {_:sk_0 :b _:sk_1}}]
  );
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_0"]; r:boundTo [ n3:uri "http://eulersharp.sourceforge.net/try#p101"]];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_1"]; r:boundTo [ n3:uri "http://eulersharp.sourceforge.net/try#s"]];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_2"]; r:boundTo (:a :b :c)];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_3"]; r:boundTo ((<http://josd.github.io/eye/reasoning/csv/select-data-extra.n3>) 1)];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_4"]; r:boundTo [ a r:Existential; n3:nodeId "_:sk_0"]];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_5"]; r:boundTo [ a r:Existential; n3:nodeId "_:sk_1"]];
  r:rule <#lemma7>.

<#lemma2> a r:Inference;
  r:gives {
    _:sk_5 e:csvTuple (:s :p102 _:sk_3 {:d :e :f} _:sk_4).
  };
  r:evidence (
    <#lemma8>
    [ a r:Fact; r:gives {((<http://josd.github.io/eye/reasoning/csv/select-data-extra.n3>) 1) e:optional {_:sk_3 :b _:sk_4}}]
  );
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_0"]; r:boundTo [ n3:uri "http://eulersharp.sourceforge.net/try#p102"]];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_1"]; r:boundTo [ n3:uri "http://eulersharp.sourceforge.net/try#s"]];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_2"]; r:boundTo {:d :e :f}];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_3"]; r:boundTo ((<http://josd.github.io/eye/reasoning/csv/select-data-extra.n3>) 1)];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_4"]; r:boundTo [ a r:Existential; n3:nodeId "_:sk_3"]];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_5"]; r:boundTo [ a r:Existential; n3:nodeId "_:sk_4"]];
  r:rule <#lemma7>.

<#lemma3> a r:Inference;
  r:gives {
    _:sk_8 e:csvTuple (:s :p103 _:sk_6 {:g :h :i.
     :j :k :l} _:sk_7).
  };
  r:evidence (
    <#lemma9>
    [ a r:Fact; r:gives {((<http://josd.github.io/eye/reasoning/csv/select-data-extra.n3>) 1) e:optional {_:sk_6 :b _:sk_7}}]
  );
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_0"]; r:boundTo [ n3:uri "http://eulersharp.sourceforge.net/try#p103"]];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_1"]; r:boundTo [ n3:uri "http://eulersharp.sourceforge.net/try#s"]];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_2"]; r:boundTo {:g :h :i.
   :j :k :l}];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_3"]; r:boundTo ((<http://josd.github.io/eye/reasoning/csv/select-data-extra.n3>) 1)];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_4"]; r:boundTo [ a r:Existential; n3:nodeId "_:sk_6"]];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_5"]; r:boundTo [ a r:Existential; n3:nodeId "_:sk_7"]];
  r:rule <#lemma7>.

<#lemma4> a r:Inference;
  r:gives {
    _:sk_11 e:csvTuple (:s :p104 _:sk_9 {:m :n :o.
     (:p :q :r) :s :t} _:sk_10).
  };
  r:evidence (
    <#lemma10>
    [ a r:Fact; r:gives {((<http://josd.github.io/eye/reasoning/csv/select-data-extra.n3>) 1) e:optional {_:sk_9 :b _:sk_10}}]
  );
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_0"]; r:boundTo [ n3:uri "http://eulersharp.sourceforge.net/try#p104"]];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_1"]; r:boundTo [ n3:uri "http://eulersharp.sourceforge.net/try#s"]];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_2"]; r:boundTo {:m :n :o.
   (:p :q :r) :s :t}];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_3"]; r:boundTo ((<http://josd.github.io/eye/reasoning/csv/select-data-extra.n3>) 1)];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_4"]; r:boundTo [ a r:Existential; n3:nodeId "_:sk_9"]];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_5"]; r:boundTo [ a r:Existential; n3:nodeId "_:sk_10"]];
  r:rule <#lemma7>.

<#lemma5> a r:Inference;
  r:gives {
    _:sk_14 e:csvTuple (:s :p105 _:sk_12 {(:u :v) :w {:x :y :z}} _:sk_13).
  };
  r:evidence (
    <#lemma11>
    [ a r:Fact; r:gives {((<http://josd.github.io/eye/reasoning/csv/select-data-extra.n3>) 1) e:optional {_:sk_12 :b _:sk_13}}]
  );
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_0"]; r:boundTo [ n3:uri "http://eulersharp.sourceforge.net/try#p105"]];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_1"]; r:boundTo [ n3:uri "http://eulersharp.sourceforge.net/try#s"]];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_2"]; r:boundTo {(:u :v) :w {:x :y :z}}];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_3"]; r:boundTo ((<http://josd.github.io/eye/reasoning/csv/select-data-extra.n3>) 1)];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_4"]; r:boundTo [ a r:Existential; n3:nodeId "_:sk_12"]];
  r:binding [ r:variable [ n3:uri "http://josd.github.io/var#x_5"]; r:boundTo [ a r:Existential; n3:nodeId "_:sk_13"]];
  r:rule <#lemma7>.

<#lemma6> a r:Extraction;
  r:gives {
    :s :p101 (:a :b :c).
  };
  r:because [ a r:Parsing; r:source <http://josd.github.io/eye/reasoning/csv/select-data-extra.n3>].

<#lemma7> a r:Extraction;
  r:gives {
    @forAll var:x_0, var:x_1, var:x_2, var:x_3, var:x_4, var:x_5. @forSome var:x_6. {var:x_1 var:x_0 var:x_2.
     var:x_3 e:optional {var:x_4 :b var:x_5}} => {var:x_6 e:csvTuple (var:x_1 var:x_0 var:x_4 var:x_2 var:x_5)}.
  };
  r:because [ a r:Parsing; r:source <http://josd.github.io/eye/reasoning/csv/select-query.n3>].

<#lemma8> a r:Extraction;
  r:gives {
    :s :p102 {:d :e :f}.
  };
  r:because [ a r:Parsing; r:source <http://josd.github.io/eye/reasoning/csv/select-data-extra.n3>].

<#lemma9> a r:Extraction;
  r:gives {
    :s :p103 {:g :h :i.
     :j :k :l}.
  };
  r:because [ a r:Parsing; r:source <http://josd.github.io/eye/reasoning/csv/select-data-extra.n3>].

<#lemma10> a r:Extraction;
  r:gives {
    :s :p104 {:m :n :o.
     (:p :q :r) :s :t}.
  };
  r:because [ a r:Parsing; r:source <http://josd.github.io/eye/reasoning/csv/select-data-extra.n3>].

<#lemma11> a r:Extraction;
  r:gives {
    :s :p105 {(:u :v) :w {:x :y :z}}.
  };
  r:because [ a r:Parsing; r:source <http://josd.github.io/eye/reasoning/csv/select-data-extra.n3>].

#2020-10-23T20:15:59.075Z in=6 out=5 ent=5 step=5 brake=2 inf=40710 sec=0.038 inf/sec=1071316
#ENDS

