//////////////////////////////////////////////////////////////////////////////
// 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-eventbased-chapter-trim-check]]
== Event-based trim check

indexterm:[event-based trim check]
indexterm:[tools,event-based trim check]
indexterm:[event-based synthesis toolset,event-based trim check]
indexterm:[event-based trim check,event-based synthesis toolset]
This check verifies that the automata in the given file are trim, that is, in each automaton, all the locations must be both reachable and coreachable.

The <<tools-eventbased-supported-specifications,general event-based restrictions>> apply.

If the check fails for one or more automata, the tool reports for each automaton, whether all its locations are reachable and coreachable.
It also lists the locations where the property fails.

indexterm:[event-based trim check,start]

=== Starting the trim check tool

The tool can be started in the following ways:

* In Eclipse, right click a `.cif` or `.cifx` file in the _Project Explorer_ tab or _Package Explorer_ tab and choose menu:CIF synthesis tools[Event-based synthesis tools > Apply trim check...].

* In Eclipse, right click an open text editor for a `.cif` or `.cifx` file and choose menu:CIF synthesis tools[Event-based synthesis tools > Apply trim check...].

* Use the `ciftrimchk` tool in a ToolDef script.
See the <<tools-scripting-chapter-intro,scripting documentation>> and <<tools-scripting-chapter-tools,tools overview>> page for details.

* Use the `ciftrimchk` command line tool.

indexterm:[event-based trim check,options]

=== Options

Besides the general application options, this application has the following options:

* _Input file_: The absolute or relative local file system path to the input CIF specification.

* _Report file_: The absolute or relative local file system path to the output report file with disabled events.
If not specified, defaults to the input file path, where the `.cif` file extension is removed (if present), and a `+_trimcheck.txt+` file extension is added.
