@prefix skolem: <https://eyereasoner.github.io/.well-known/genid/8b98b360-9a70-4845-b52c-c675af60ad01#>.
@prefix r: <http://www.w3.org/2000/10/swap/reason#>.
@prefix e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>.
@prefix : <http://eulersharp.sourceforge.net/try#>.
@prefix n3: <http://www.w3.org/2004/06/rei#>.
@prefix var: <http://www.w3.org/2000/10/swap/var#>.

skolem:proof a r:Proof, r:Conjunction;
    r:component skolem:lemma1;
    r:component skolem:lemma2;
    r:component skolem:lemma3;
    r:component skolem:lemma4;
    r:component skolem: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).
    }.

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

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

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

skolem: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 (
        skolem:lemma10
        [ a r:Fact; r:gives {((<https://eyereasoner.github.io/eye/reasoning/csv/select-data-extra.n3>) 1) e:optional {
            _:sk_9 :b _:sk_10.
        }}]
    );
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_0"]; r:boundTo [ n3:uri "http://eulersharp.sourceforge.net/try#p104"]];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_1"]; r:boundTo [ n3:uri "http://eulersharp.sourceforge.net/try#s"]];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_2"]; r:boundTo {
        :m :n :o.
        (:p :q :r) :s :t.
    }];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_3"]; r:boundTo ((<https://eyereasoner.github.io/eye/reasoning/csv/select-data-extra.n3>) 1)];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_4"]; r:boundTo [ a r:Existential; n3:nodeId "_:sk_9"]];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_5"]; r:boundTo [ a r:Existential; n3:nodeId "_:sk_10"]];
    r:binding [ r:variable [ n3:uri "http://www.w3.org/2000/10/swap/var#x_6"]; r:boundTo [ a r:Existential; n3:nodeId "_:sk_11"]];
    r:rule skolem:lemma7.

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

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

skolem: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 <https://eyereasoner.github.io/eye/reasoning/csv/select-query.n3>].

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

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

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

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

