Origin Sections AutomataTheory Doc

myhill_nerode

Nuprl Section: myhill_nerode

Selected Objects
deflang_relL-induced Equiv(x,y) == z:A*. L(z @ x) L(z @ y)
THMlang_rel_reflL:LangOver(A). Refl(A*;x,y.x L-induced Equiv y)
THMlang_rel_symmL:LangOver(A). Sym x,y:A*. x L-induced Equiv y
THMlang_rel_tranL:LangOver(A). Trans x,y:A*. x L-induced Equiv y
THMlang_rel_equiL:LangOver(A). EquivRel x,y:A*. x L-induced Equiv y
defmn_quo_appendz@x == z @ x
THMmn_quo_append_assocR:(Alph*Alph*Prop). (EquivRel x,y:Alph*. x R y) (x,y,z:Alph*. (x R y) ((z @ x) R (z @ y))) (z1,z2:Alph*, y:x,y:Alph*//(x R y). z1 @ z2@y = z1@z2@y)
deflquo_relRg(x,y) == z:A*. g(z@x) g(z@y)
THMlquo_rel_reflR:(A*A*Prop). (EquivRel x,y:A*. x R y) (x,y,z:A*. (x R y) ((z @ x) R (z @ y))) (g:((x,y:A*//(x R y))). Refl(x,y:A*//(x R y);u,v.u Rg v))
THMlquo_rel_symmR:(A*A*Prop). (EquivRel x,y:A*. x R y) (x,y,z:A*. (x R y) ((z @ x) R (z @ y))) (g:((x,y:A*//(x R y))). Sym u,v:x,y:A*//(x R y). u Rg v)
THMlquo_rel_tranR:(A*A*Prop). (EquivRel x,y:A*. x R y) (x,y,z:A*. (x R y) ((z @ x) R (z @ y))) (g:((x,y:A*//(x R y))). Trans u,v:x,y:A*//(x R y). u Rg v)
THMlquo_rel_equiR:(A*A*Prop). (EquivRel x,y:A*. x R y) (x,y,z:A*. (x R y) ((z @ x) R (z @ y))) (g:((x,y:A*//(x R y))). EquivRel u,v:x,y:A*//(x R y). u Rg v)
THMRl_iff_RgR:(A*A*Prop). (EquivRel x,y:A*. x R y) (x,y,z:A*. (x R y) ((z @ x) R (z @ y))) (g:((x,y:A*//(x R y))), L:LangOver(A). (l:A*. L(l) g(l)) (x,y:A*. (x L-induced Equiv y) (x Rg y)))
THMmn_12L:LangOver(Alph). Fin(Alph) (St:Type, Auto:Automata(Alph;St). Fin(St) & L = LangOf(Auto)) (R:(Alph*Alph*Prop). (EquivRel x,y:Alph*. x R y) c (g:((x,y:Alph*//R(x,y))). Fin(x,y:Alph*//R(x,y)) & (l:Alph*. L(l) g(l)) & (x,y,z:Alph*. R(x,y) R((z @ x),z @ y))))
THMmn_23_refinmentL:LangOver(Alph), R:(Alph*Alph*Prop). (EquivRel x,y:Alph*. x R y) (g:((x,y:Alph*//(x R y))). l:Alph*. L(l) g(l)) & (x,y,z:Alph*. (x R y) ((z @ x) R (z @ y))) (x,y:Alph*. (x R y) (x L-induced Equiv y))
defbeqp = q == if p q else q fi
THMbeq_idp:. p = p = true
THMbeq_symp,q:. p = q = q = p
THMbeq_eqp,q:. p = q = true p = q
THMbeq_neqp,q:. p = q = false p = q
THMassert_iff_eqa,b:. (a b) a = b
THMmn_23_lem_0P:(Prop), n:. (k:{n...}. P(k) (i:k. P(i))) & (m:. P(m)) (m:n. P(m))
THMfin_listifyFin(T) (TL:T*. t:T. mem_f(T;t;TL))
THMback_listifyS:ActionSet(Alph), s:S.car. Fin(Alph) Fin(S.car) (BL:S.car*. t:S.car. mem_f(S.car;t;BL) (a:Alph. S.act(a,t) = s))
THMbool_listifyf:(T). Fin(T) (fL:T*. t:T. f(t) mem_f(T;t;fL))
THMtotal_back_listifyS:ActionSet(Alph), sL:S.car*. Fin(Alph) Fin(S.car) (TBL:S.car*. s:S.car. mem_f(S.car;s;TBL) (w:Alph*. mem_f(S.car;(S:ws);sL)))
THMmn_23_lemR:(Alph*Alph*Prop). Fin(Alph) (EquivRel x,y:Alph*. x R y) Fin(x,y:Alph*//(x R y)) (x,y,z:Alph*. (x R y) ((z @ x) R (z @ y))) (g:((x,y:Alph*//(x R y))), x,y:x,y:Alph*//(x R y). Dec(x Rg y))
THMmn_23_lem_1R:(Alph*Alph*Prop). Fin(Alph) (EquivRel x,y:Alph*. x R y) Fin(x,y:Alph*//(x R y)) (x,y,z:Alph*. (x R y) ((z @ x) R (z @ y))) (g:((x,y:Alph*//(x R y))), x,y:x,y:Alph*//(x R y). Dec(x Rg y))
THMnxn_plus_1_ge_0n:. nn+1
THMmn_23_Rl_equal_RgL:LangOver(Alph), R:(Alph*Alph*Prop). (EquivRel x,y:Alph*. x R y) (x,y,z:Alph*. (x R y) ((z @ x) R (z @ y))) (g:((x,y:Alph*//(x R y))). (l:Alph*. L(l) g(l)) x,y:Alph*//(x L-induced Equiv y) = x,y:Alph*//(x Rg y))
THMmn_23n:{1...}, A:Type, L:LangOver(A), R:(A*A*Prop). Fin(A) (EquivRel x,y:A*. x R y) (n ~ (x,y:A*//(x R y))) (x,y,z:A*. (x R y) ((z @ x) R (z @ y))) (g:((x,y:A*//(x R y))). l:A*. L(l) g(l)) (m:. m ~ (x,y:A*//(x L-induced Equiv y))) & (l:A*. Dec(L(l)))
THMmn_31L:LangOver(Alph). Fin(Alph) Fin(x,y:Alph*//L-induced Equiv(x,y)) & (l:Alph*. Dec(L(l))) (St:Type, Auto:Automata(Alph;St). Fin(St) & L = LangOf(Auto))