procedure Backtrack is generic type Irott_N is array (Natural range <>) of Natural; with function Sigma( N: Natural ) return Natural; with function Ro( N: Natural; I: Irott_N ) return Boolean; procedure Backtrack( L: out Boolean; V: out Irott_N ); procedure Novel; procedure Keres; type Tabla is array (Natural range <>) of Natural; procedure Novel is begin null; end; procedure Keres is begin null; end; procedure Backtrack( L: out Boolean; V: out Irott_N ) is begin L := False; V(1) := 1; end; function Sigma( N: Natural ) return Natural is begin return 8; end; function Ro( N: Natural; I: Tabla ) return Boolean is begin return True; end; procedure Kiralyno_Backtrack is new Backtrack (Tabla(1..8) => Irott_N, Sigma => Sigma, Ro => Ro); K: Boolean; F: Irott_N( 1..10 ); begin Kiralyno_Backtrack(K,F); end Backtrack;