:- module('three+http://tests.com',[]). en("the target language is: prolog. the templates are: *a person* has *an obligation* that *a requirement*, it is permitted that *a party* designates by *an action* at *a time T1* that *an event*, *a borrower* cures the failure of *an obligation* on *a day* that *a requirement*, *a lender* notifies *a borrower* on *a date* that *a message*, *a borrower* fails to fulfil *an obligation* that *a requirement*, *an event* occurs at *a time*, *a borrower* pays *an amount* to *a lender* on *a date*, *a party* performs *an action* at *a time*, *a borrower* defaults on *a date*, *a date* is on or before *a later date*. the knowledge base obligation includes: the borrower has an obligation that the borrower pays 550 to the lender on 2015-06-01. the borrower has an obligation that the borrower pays 525 to the lender on 2016-06-01. the borrower defaults on a day D3 if the borrower has an obligation that an eventuality and the borrower fails to fulfil the obligation that the eventuality and the lender notifies the borrower on a day D1 that the borrower fails to fulfil the obligation that the eventuality and D3 is 2 days after D1 and it is not the case that the borrower cures the failure of the obligation on a day D2 that the eventuality and D2 is on or before D3. the borrower fails to fulfil an obligation that the borrower pays an amount to the lender on a date if it is not the case that the borrower pays the amount to the lender on the date. the borrower cures the failure of an obligation on a first date that the borrower pays an amount to the lender on a second date if the borrower pays the amount to the lender on the first date. A date is on or before a second date if second is a X days after the date and X >= 0. scenario test is: the lender notifies the borrower on 2016-06-02 that the borrower fails to fulfil an obligation that the borrower pays 525 to the lender on 2016-06-01. the borrower pays 525 to the lender on 2016-06-02. query one is: which person defaults on which day. query three is: the borrower cures the failure of an obligation on a first date that the borrower pays an amount to the lender on a second date. "). /** ?- answer("one with test"). ?- answer("three with test"). ?- answer("query three with scenario test"). */