Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
product.init
{A : Type}
[BEq A]
[Hashable A]
[DecidableEq A]
[FinEnum A]
(m1 : NFA A)
(m2 : NFA A)
(st : product.State)
:
product.State
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- HashSet.inter m1 m2 = Std.HashSet.fold (fun (mi : Std.HashSet A) (x : A) => if m2.contains x = true then mi.insert x else mi) Std.HashSet.empty m1
Instances For
def
Std.HashSet.isDisjoint
{A : Type u_1}
[BEq A]
[Hashable A]
(m1 : Std.HashSet A)
(m2 : Std.HashSet A)
:
Equations
- m1.isDisjoint m2 = (HashSet.inter m1 m2).isEmpty
Instances For
def
HashSet.areIncluded
{A : Type u_1}
[BEq A]
[Hashable A]
(m1 : Std.HashSet A)
(m2 : Std.HashSet A)
:
Equations
- HashSet.areIncluded m1 m2 = m1.all fun (x : A) => m2.contains x
Instances For
Equations
- hashableHashSet = { hash := fun (s : Std.HashSet A) => Std.HashSet.fold (fun (h : UInt64) (x : A) => mixHash h (hash x)) 0 s }
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[irreducible]
def
NFA.determinize.go
{A : Type}
[BEq A]
[Hashable A]
[DecidableEq A]
[FinEnum A]
(mi : NFA A)
(st : NFA.determinize.St)
:
NFA A
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
NFA.isIncluded
{A : Type}
[BEq A]
[Hashable A]
[DecidableEq A]
[FinEnum A]
(m1 : NFA A)
(m2 : NFA A)
:
Returns true when L(m1) ⊆ L(m2)
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[irreducible]
def
NFA.isIncluded.go
{A : Type}
[BEq A]
[Hashable A]
[DecidableEq A]
[FinEnum A]
(m1 : NFA A)
(m2 : NFA A)
(st : isIncluded.State)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Returns true when L(m) = A*
Equations
- m.isUniversal = NFA.isUniversal.go m { visited := ∅, worklist := Array.singleton m.initials }
Instances For
@[irreducible]
def
NFA.isUniversal.go
{A : Type}
[BEq A]
[Hashable A]
[DecidableEq A]
[FinEnum A]
(m : NFA A)
(st : isUniversal.State)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Recognizes the empty word
Equations
- NFA.emptyWord = match NFA.empty.newState with | (s, m) => let m := m.addInitial s; let m := m.addFinal s; m
Instances For
Returns true when L(m) ∪ {ε} = A*
. This is useful because the
bitvector of with width zero has strange properties.
Equations
- m.isUniversal' = (m.union NFA.emptyWord).isUniversal
Instances For
Equations
- m.isEmpty = m.finals.isEmpty