Main internal data type for the rose tree machine (RTM) #
This file contains the main internal data structure for the RTM, Data, a rose tree.
Main definitions and notations #
@[implicit_reducible]
Equations
Decidable equality for Data, defined jointly with Data.listDecEq.
Equations
- (Complexity.RoseTreeMachine.Data.l xs).decEq (Complexity.RoseTreeMachine.Data.l ys) = match Complexity.RoseTreeMachine.Data.listDecEq xs ys with | isTrue h => isTrue ⋯ | isFalse h => isFalse ⋯
Instances For
Decidable equality for List Data, defined jointly with Data.decEq.
Equations
- One or more equations did not get rendered due to their size.
- Complexity.RoseTreeMachine.Data.listDecEq [] [] = isTrue Complexity.RoseTreeMachine.Data.listDecEq._proof_1
- Complexity.RoseTreeMachine.Data.listDecEq [] (head :: tail) = isFalse ⋯
- Complexity.RoseTreeMachine.Data.listDecEq (head :: tail) [] = isFalse ⋯
Instances For
@[implicit_reducible]
@[implicit_reducible]
The list of children of a Data node.
Equations
- (Complexity.RoseTreeMachine.Data.l xs).asList = xs
Instances For
@[irreducible]
The encoding length of d, relevant for complexity.
This is the encoded size assuming an encoding into parenthesized expressions.
Equations
Instances For
@[irreducible]
def
Complexity.RoseTreeMachine.Data.recL
{motive : Data → Sort u_1}
(nil : motive (l []))
(cons : (x : Data) → (xs : List Data) → motive x → motive (l xs) → motive (l (x :: xs)))
(d : Data)
:
motive d
Recursion principle for Data.
Equations
- One or more equations did not get rendered due to their size.
- Complexity.RoseTreeMachine.Data.recL nil cons (Complexity.RoseTreeMachine.Data.l []) = nil
Instances For
@[reducible, inline]
Index of a tape cell used by the rose tree machine's execution model.