# The elementhood relation on coalgebras of polynomial endofunctors
```agda
module trees.elementhood-relation-coalgebras-polynomial-endofunctors where
```
<details><summary>Imports</summary>
```agda
open import foundation.dependent-pair-types
open import foundation.fibers-of-maps
open import foundation.universe-levels
open import graph-theory.directed-graphs
open import graph-theory.walks-directed-graphs
open import trees.coalgebras-polynomial-endofunctors
```
</details>
## Idea
Given two elements `x y : X` in the underlying type of a coalgebra of a
polynomial endofunctor, We say that **`x` is an element of `y`**, i.e., `x ∈ y`,
if there is an element `b : B (shape y)` equipped with an identification
`component y b = x`. Note that this elementhood relation of an arbitrary
coalgebra need not be irreflexive.
By the elementhood relation on coalgebras we obtain for each coalgebra a
directed graph.
## Definition
```agda
infixl 6 is-element-of-coalgebra-polynomial-endofunctor
is-element-of-coalgebra-polynomial-endofunctor :
{l1 l2 l3 : Level} {A : UU l1} {B : A → UU l2}
(X : coalgebra-polynomial-endofunctor l3 A B)
(x y : type-coalgebra-polynomial-endofunctor X) → UU (l2 ⊔ l3)
is-element-of-coalgebra-polynomial-endofunctor X x y =
fiber (component-coalgebra-polynomial-endofunctor X y) x
syntax
is-element-of-coalgebra-polynomial-endofunctor X x y = x ∈ y in-coalgebra X
```
### The graph of a coalgebra for a polynomial endofunctor
```agda
module _
{l1 l2 l3 : Level} {A : UU l1} {B : A → UU l2}
(X : coalgebra-polynomial-endofunctor l3 A B)
where
graph-coalgebra-polynomial-endofunctor :
Directed-Graph l3 (l2 ⊔ l3)
pr1 graph-coalgebra-polynomial-endofunctor =
type-coalgebra-polynomial-endofunctor X
pr2 graph-coalgebra-polynomial-endofunctor x y =
x ∈ y in-coalgebra X
walk-coalgebra-polynomial-endofunctor :
(x y : type-coalgebra-polynomial-endofunctor X) → UU (l2 ⊔ l3)
walk-coalgebra-polynomial-endofunctor =
walk-Directed-Graph graph-coalgebra-polynomial-endofunctor
concat-walk-coalgebra-polynomial-endofunctor :
{x y z : type-coalgebra-polynomial-endofunctor X} →
walk-coalgebra-polynomial-endofunctor x y →
walk-coalgebra-polynomial-endofunctor y z →
walk-coalgebra-polynomial-endofunctor x z
concat-walk-coalgebra-polynomial-endofunctor =
concat-walk-Directed-Graph graph-coalgebra-polynomial-endofunctor
```