# Partial elements
```agda
module foundation.partial-elements where
```
<details><summary>Imports</summary>
```agda
open import foundation.dependent-pair-types
open import foundation.unit-type
open import foundation.universe-levels
open import foundation-core.propositions
```
</details>
## Idea
A {{#concept "partial element" Agda=partial-element}} of `X` consists of a
[proposition](foundation-core.propositions.md) `P` and a map `P → X`. That is,
the type of partial elements of `X` is defined to be
```text
Σ (P : Prop), (P → X).
```
We say that a partial element `(P, f)` is
{{#concept "defined" Disambiguation="partial element"}} if the proposition `P`
holds.
Alternatively, the type of partial elements of `X` can be descibed as the
codomain of the
[composition](species.composition-cauchy-series-species-of-types.md)
```text
1 ∅ ∅
| | |
T | ∘ | = |
∨ ∨ ∨
Prop X P T X
```
of [polynomial-endofunctors.md](trees.polynomial-endofunctors.md). Indeed, the
codomain of this composition operation of morphisms is the polynomial
endofunctor `P T` of the map `T : 1 → Prop` evaluated at `X`, which is exactly
the type of partial elements of `X`.
## Definitions
### Partial elements of a type
```agda
partial-element : {l1 : Level} (l2 : Level) → UU l1 → UU (l1 ⊔ lsuc l2)
partial-element l2 X = Σ (Prop l2) (λ P → type-Prop P → X)
module _
{l1 l2 : Level} {X : UU l1} (x : partial-element l2 X)
where
is-defined-prop-partial-element : Prop l2
is-defined-prop-partial-element = pr1 x
is-defined-partial-element : UU l2
is-defined-partial-element = type-Prop is-defined-prop-partial-element
```
### The unit of the partial element operator
```agda
unit-partial-element :
{l1 : Level} {X : UU l1} → X → partial-element lzero X
pr1 (unit-partial-element x) = unit-Prop
pr2 (unit-partial-element x) y = x
```
## Properties
### The type of partial elements is a directed complete poset
This remains to be shown.
[#734](https://github.com/UniMath/agda-unimath/issues/734)
## See also
- [Copartial elements](foundation.copartial-elements.md)
- [Partial functions](foundation.partial-functions.md)
- [Partial sequences](foundation.partial-sequences.md)
- [Total partial functions](foundation.total-partial-functions.md)