     @prefix : <http://dig.csail.mit.edu/TAMI/2007/amord/tms#> .
    @prefix air: <http://dig.csail.mit.edu/TAMI/2007/amord/air#> .
    @prefix log: <http://www.w3.org/2000/10/swap/log#> .
    @prefix que: <http://dig.csail.mit.edu/2009/IARPA-PIR/query1#> .
    @prefix s: <http://dig.csail.mit.edu/2009/IARPA-PIR/sparql#> .
    @prefix ssn: <http://dig.csail.mit.edu/2009/IARPA-PIR/ssn-policy#> .
    
    que:Query-1     air:non-compliant-with ssn:SSNPolicy,
                ssn:SSNPolicy_OutputRule,
                ssn:SSNPolicy_WhereClause .
    
    ssn:SSN_OR01     :justification :premise .
    
    ssn:SSN_RULE1     :justification :premise .
    
    ssn:SSN_WC01     :justification :premise .
    {
        que:Query-1     air:non-compliant-with ssn:SSNPolicy .
        
        }     :description  (
        "The query, "
        que:Query-1
        ", uses SSN values in the where clause and retrieves SSN values" );
         :justification  [
             :antecedent-expr  [
                 a :And-justification;
                 :sub-expr  [
                     air:instanceOf ssn:SSN_RULE3;
                     :justification  [
                         :antecedent-expr  [
                             a :And-justification;
                             :sub-expr  [
                                 air:instanceOf ssn:SSN_RULE2;
                                 :description  (
                                que:Query-1
                                " is a SPARQL query" );
                                 :justification  [
                                     :antecedent-expr  [
                                         a :And-justification;
                                         :sub-expr ssn:SSN_RULE1,
                                                {que:Query-1     a s:Select;
                                             s:POSList <#_g0>;
                                             s:WhereClause que:WHERE .
                                        } ];
                                     :rule-name ssn:SSN_RULE1 ] ],
                                     [
                                 air:closed-world-assumption  (
                                ssn:SSNPolicy
                                ssn:SSNPolicy_WhereClause
                                ssn:SSNPolicy_OptionalClause
                                ssn:SSNPolicy_OutputRule
                                ssn:SSNPolicy_FilterRule
                                air:base-rules
                                <http://dig.csail.mit.edu/2009/IARPA-PIR/usecase0/query1.n3>
                                <http://dig.csail.mit.edu/TAMI/2007/amord/base-assumptions.ttl> );
                                 :justification :premise ],
                                    {} ];
                         :rule-name ssn:SSN_RULE2 ] ],
                        {que:WHERE     s:TriplePattern {que:S     <http://xmlns.com/foaf/0.1/ssn> que:N .
                    } .
                ssn:T     log:includes {que:S     <http://xmlns.com/foaf/0.1/ssn> que:N .
                    } .
                <#_g0>     s:variable que:N .
                } ];
             :rule-name ssn:SSN_RULE3 ] .
    {
        que:Query-1     air:non-compliant-with ssn:SSNPolicy_OutputRule .
        
        }     :description  (
        "The query, "
        que:Query-1
        ", tries to output a variable "
        <#_g0>
        " that is an SSN" );
         :justification  [
             :antecedent-expr  [
                 a :And-justification;
                 :sub-expr  [
                     air:instanceOf ssn:SSN_OR02;
                     :description  (
                    que:Query-1
                    " is a SPARQL query" );
                     :justification  [
                         :antecedent-expr  [
                             a :And-justification;
                             :sub-expr ssn:SSN_OR01,
                                    {que:Query-1     a s:Select;
                                 s:POSList <#_g0>;
                                 s:WhereClause que:WHERE .
                            } ];
                         :rule-name ssn:SSN_OR01 ] ],
                        {que:WHERE     s:TriplePattern {que:S     <http://xmlns.com/foaf/0.1/ssn> que:N .
                    } .
                ssn:T     log:includes { @forSome que:S .
                    que:S     <http://xmlns.com/foaf/0.1/ssn> que:N .
                    } .
                <#_g0>     s:variable que:N .
                } ];
             :rule-name ssn:SSN_OR02 ] .
    {
        que:Query-1     air:non-compliant-with ssn:SSNPolicy_WhereClause .
        
        }     :description  (
        "The query, "
        que:Query-1
        ", includes reference to SSN number in the where clause" );
         :justification  [
             :antecedent-expr  [
                 a :And-justification;
                 :sub-expr  [
                     air:instanceOf ssn:SSN_WC02;
                     :description  (
                    que:Query-1
                    " is a SPARQL query" );
                     :justification  [
                         :antecedent-expr  [
                             a :And-justification;
                             :sub-expr ssn:SSN_WC01,
                                    {que:Query-1     a s:Select;
                                 s:POSList <#_g0>;
                                 s:WhereClause que:WHERE .
                            } ];
                         :rule-name ssn:SSN_WC01 ] ],
                        {que:WHERE     s:TriplePattern {que:S     <http://xmlns.com/foaf/0.1/ssn> que:N .
                    } .
                ssn:T     log:includes {que:S     <http://xmlns.com/foaf/0.1/ssn> que:N .
                    } .
                <#_g0>     s:variable que:S .
                } ];
             :rule-name ssn:SSN_WC02 ] .
    {
        que:Query-1     a s:Select;
             s:POSList <#_g0>;
             s:WhereClause que:WHERE .
        que:WHERE     s:TriplePattern {que:S     <http://xmlns.com/foaf/0.1/ssn> que:N .
            } .
        ssn:T     log:includes {que:S     <http://xmlns.com/foaf/0.1/ssn> que:N .
            },
                    {que:S     <http://xmlns.com/foaf/0.1/ssn> que:N .
            },
                    { @forSome que:S .
            que:S     <http://xmlns.com/foaf/0.1/ssn> que:N .
            } .
        <#_g0>     s:variable que:N,
                    que:S .
        
        }     :justification :premise .
    
