Functor Strat.Algo

module Algo: 
functor (G : G) ->
functor (P : PLAYER with type vertex = G.vertex) ->
functor (S : STRAT with type vertex = G.vertex) -> sig .. end

Implements strategy algorithms on graphs

Parameters:
G : G
P : PLAYER with type vertex = G.vertex
S : STRAT with type vertex = G.vertex

val coherent_player : Strat.G.t -> P.t -> bool

coherent_player g p returns true iff the completion p is coherent w.r.t. the graph g

val coherent_strat : Strat.G.t -> S.t -> bool

coherent_strat g s returns true iff the strategy s is coherent w.r.t. the graph g

val game : Strat.G.t -> P.t -> S.t -> S.t -> bool

game g p a b returns true iff a wins in g given the completion p (i.e. the game goes through a final state).

val strategy : Strat.G.t -> P.t -> S.t -> bool

strategy g p s returns true iff s wins in g given the completion p, whatever strategy plays the other player.

val strategyA : Strat.G.t -> P.t -> bool * S.t

strategyA g p returns true iff there exists a winning stragegy for the true player. In this case, the winning strategy is provided.