//////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2010, 2026 Contributors to the Eclipse Foundation
//
// See the NOTICE file(s) distributed with this work for additional
// information regarding copyright ownership.
//
// This program and the accompanying materials are made available
// under the terms of the MIT License which is available at
// https://opensource.org/licenses/MIT
//
// SPDX-License-Identifier: MIT
//////////////////////////////////////////////////////////////////////////////

include::../_part_attributes.asciidoc[]

:leveloffset: -2

[[tools-cif2cif-chapter-simplify-others]]
== Simplify others

indexterm:[CIF to CIF transformer,simplify others]
indexterm:[simplify others]
This CIF to CIF transformation simplifies CIF specifications, by applying the following non-value related simplifications:

* Duplicate monitor events of automata are removed.

* Duplicate events in the alphabet are removed.

* Duplicate events on edges are removed, with the exception of duplicate sends for the same event, as they may send different values.

* Self-loops with a target location are simplified by removing the target location.

indexterm:[simplify others,supported specifications]

=== Supported specifications

This transformation supports a subset of CIF specifications.
The following restrictions apply:

* Component definitions and component instantiations are not supported.

indexterm:[simplify others,preprocessing]

=== Preprocessing

No preprocessing is currently performed by this CIF to CIF transformation.
To increase the subset of specifications that can be transformed, apply the following <<tools-cif2cif-chapter-index,CIF to CIF transformations>> (in the given order):

* <<tools-cif2cif-chapter-elim-comp-def-inst>>

=== Implementation details

n/a

=== Renaming

n/a

indexterm:[simplify others,size considerations]

=== Size considerations

This transformation tries to simplify the specification, possibly reducing its size.

=== Optimality

n/a

=== Annotations

This transformation does not process, add, or remove any annotations.
