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#>

[] 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: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: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: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: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: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 {
    {?x_1_1 ?x_0_1 ?x_2_1.
     ?x_3_1 e:optional {?x_4_1 :b ?x_5_1}} => {_:x_6_1 e:csvTuple (?x_1_1 ?x_0_1 ?x_4_1 ?x_2_1 ?x_5_1)}.
  };
  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>].

