Unknown procedure | Prolog

Пролог жалуется, что не может найти openread/2: введите сюда описание изображения

 file = Myfile
     database-main
    town(string, string)
    
   database -russia
    town1(string, string)

   database -france
    town2(string, string)

   database -ukraine
    town3(string, string)

   database -china
    town4(string, string)

   database -canada
    town5(string, string)

   database -usa
    town6(string, string)

   database -vietnam
    town7(string, string)

   database -england
    town8(string, string)

   database -german
    town9(string, string)

   database -italy
    town10(string, string)

   database -kazakhstan
    town11(string, string)

   write_all_facts:-write("Russia"),nl,town1(X,Y),write(X),nl,fail;
    nl,write("France"),nl,town2(X,Y),write(X),nl,fail;
    nl,write("Ukraine"),nl,town3(X,Y),write(X),nl,fail;
    nl,write("China"),nl,town4(X,Y),write(X),nl,fail;
    nl,write("Canada"),nl,town5(X,Y),write(X),nl,fail;
    nl,write("Usa"),nl,town6(X,Y),write(X),nl,fail;
    nl,write("Vietnam"),nl,town7(X,Y),write(X),nl,fail;
    nl,write("England"),nl,town8(X,Y),write(X),nl,fail;
    nl,write("German"),nl,town9(X,Y),write(X),nl,fail;
    nl,write("Italy"),nl,town10(X,Y),write(X),nl,fail;
    nl,write("Kazakhstan"),nl,town11(X,Y),write(X),nl,fail.
 
   section:-
    town(Name, Contr),
    Contr = russia,
    assertz(town1(Name, Contr), russia),
    save("C:\\prolog\\russia.txt", russia),
    retract(town(Name, Contr), main), fail;
    
    town(Name, Contr), 
    Contr = france,
    assertz(town2(Name, Contr), france),
    save("C:\\prolog\\france.txt", france),
    retract(town(Name, Contr), main), fail;
    
    town(Name, Contr), 
    Contr = ukraine,
    assertz(town3(Name, Contr), ukraine),
    save("C:\\prolog\\ukraine.txt", ukraine),
    retract(town(Name, Contr), main), fail;
    
    town(Name, Contr), 
    Contr = china,
    assertz(town4(Name, Contr), china),
    save("C:\\prolog\\china.txt", china),
    retract(town(Name, Contr), main), fail;
    
    town(Name, Contr), 
    Contr = canada,
    assertz(town5(Name, Contr), canada),
    save("C:\\prolog\\canada.txt", canada),
    retract(town(Name, Contr), main), fail;
    
    town(Name, Country), 
    Country = usa, 
    assertz(town6(Name, Country), usa),
    save("C:\\prolog\\usa.txt", usa),
    retract(town(Name, Country), main), fail;
    
    town(Name, Contr), 
    Contr = vietnam, 
    assertz(town7(Name, Contr), vietnam),
    save("C:\\prolog\\vietnam.txt", vietnam),
    retract(town(Name, Contr), main), fail;
    
    town(Name, Contr), 
    Contr = england, 
    assertz(town8(Name, Contr), england),
    save("C:\\prolog\\england.txt", england),
    retract(town(Name, Contr), main), fail;
    
    town(Name, Contr),
    Contr = german,  
    assertz(town9(Name, Contr), german),
    save("C:\\prolog\\german.txt", german),
    retract(town(Name, Cont), main), fail;
    
    town(Name, Contr), 
    Contr = italy, 
    assertz(town10(Name, Contr), italy),
    save("C:\\prolog\\italy.txt", italy),
    retract(town(Name, Contr), main), fail;
    
    town(Name, Contr), 
    Contr = kazakhstan,
    assertz(town11(Name, Contr), kazakhstan),
    save("C:\\prolog\\kazakhstan.txt", kazakhstan),
    retract(town(Name, Contr), main), fail.
 
    going:- openread(Myfile, "C:\\asm_labs\\facts.pl"),
    consult("C:\\asm_labs\\facts.pl"), readdevice(Myfile),
    section, write_all_facts.

Буду очень благодарен за помощь!


Ответы (0 шт):