Theory SACA_Equiv
theory SACA_Equiv
imports "sais/abs-proof/Abs_SAIS_Verification"
"simple/Simple_SACA_Verification"
"sais/proof/SAIS_Verification"
begin
lemma Suffix_Array_General_imp_suffix_array:
"Suffix_Array_General sa ⟹
sa s = simple_saca s"
using Suffix_Array_General_determinism simple_saca.Suffix_Array_General_axioms by blast
theorem Suffix_Array_General_equiv_spec:
"Suffix_Array_General sa ⟷
sa = simple_saca"
using Suffix_Array_General_imp_suffix_array simple_saca.Suffix_Array_General_axioms by blast
corollary abs_sais_equiv_simple_saca:
"sa_nat_wrapper map_to_nat abs_sais = simple_saca"
using Suffix_Array_General_equiv_spec abs_sais_gen.Suffix_Array_General_axioms by auto
corollary sais_equiv_simple_saca:
"sa_nat_wrapper map_to_nat sais = simple_saca"
using sais_gen_is_Suffix_Array_General
Suffix_Array_General_equiv_spec
by auto
end