1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
/*
* SPDX-License-Identifier: MIT
* Copyright (c) 2023 - 2026. The DeepCausality Authors and Contributors. All Rights Reserved.
*/
use crateSymbolKind;
use crate::;
use HashMap;
use ;
/// A type alias for a default, general-purpose `Model` configuration that uses
/// abstract "kind" enums for its spatial, temporal, and symbolic contexts.
///
/// This `UniformModel` alias represents a `Model` instance configured with a
/// standard set of generic parameters, making it suitable for common causal
/// modeling scenarios where the specific underlying concrete types for space,
/// time, and symbols can vary but are represented by their respective "kind" enums.
///
/// It provides a convenient and readable shorthand for defining a `Model`
/// that encapsulates:
///
/// - **`Data<NumberType>`**: Used for its data component. `NumberType` is a
/// generic numeric type, typically an alias for a floating-point or integer,
/// allowing for flexible data representation within the model.
/// - **`SpaceKind`**: Defines the spatial context using an abstract `SpaceKind`
/// enum. This allows the model to operate with various spatial representations
/// (e.g., `EuclideanSpace`, `EcefSpace`, `NedSpace`, `GeoSpace`) without
/// changing the `Model`'s type signature, providing uniformity across different
/// spatial contexts.
/// - **`TimeKind`**: Specifies the temporal context using an abstract `TimeKind`
/// enum. This enables the model to handle different temporal representations
/// (e.g., `EuclideanTime`, `DiscreteTime`, `EntropicTime`, `LorentzianTime`)
/// flexibly, offering a uniform temporal interface.
/// - **`SpaceTimeKind`**: Combines the spatial and temporal contexts into a
/// unified spacetime representation using an abstract `SpaceTimeKind` enum,
/// allowing for various spacetime geometries (e.g., `EuclideanSpacetime`,
/// `LorentzianSpacetime`, `MinkowskiSpacetime`) in a uniform manner.
/// - **`SymbolKind`**: Provides a basic symbolic representation for elements
/// within the model using an abstract `SymbolKind` enum, useful for labeling,
/// identification, or abstract reasoning across different symbolic types.
/// - **`FloatType` (x2)**: Two `FloatType` parameters, typically used for
/// internal calculations, scalar values, metrics, or other generic numerical
/// requirements within the `Model` structure, such as probabilities, weights,
/// or magnitudes. `FloatType` is generally an alias for a standard floating-point type.
///
/// This `UniformModel` is designed to be a sensible default for many applications
/// requiring a flexible yet consistent model structure that can adapt to different
/// underlying spatial, temporal, and symbolic representations through their
/// respective `Kind` enums. It promotes code reusability and simplifies type
/// declarations when the exact concrete type of a context component is not
/// fixed but rather belongs to a set of predefined "kinds".
pub type UniformModel = ;
/// A type alias for a default, general-purpose `Causaloid` configuration that uses
/// abstract "kind" enums for its spatial, temporal, and symbolic contexts.
///
/// This `UniformCausaloid` alias represents a single, identity-bearing causal unit
/// (`Causaloid`) configured with a standard set of generic parameters. It is designed
/// for common causal modeling scenarios where the specific underlying concrete types
/// for space, time, and symbols can vary but are represented by their respective
/// "kind" enums.
///
/// It provides a convenient and readable shorthand for defining a `Causaloid`
/// that encapsulates:
///
/// - **`Data<NumberType>`**: Represents the data component associated with the causaloid.
/// `NumberType` is a generic numeric type, typically an alias for a floating-point
/// or integer, allowing for flexible data representation.
/// - **`SpaceKind`**: Defines the spatial context using an abstract `SpaceKind`
/// enum. This allows the causaloid to operate with various spatial representations
/// (e.g., `EuclideanSpace`, `EcefSpace`, `NedSpace`, `GeoSpace`) without
/// changing the `Causaloid`'s type signature, providing uniformity across different
/// spatial contexts.
/// - **`TimeKind`**: Specifies the temporal context using an abstract `TimeKind`
/// enum. This enables the causaloid to handle different temporal representations
/// (e.g., `EuclideanTime`, `DiscreteTime`, `EntropicTime`, `LorentzianTime`)
/// flexibly, offering a uniform temporal interface.
/// - **`SpaceTimeKind`**: Combines the spatial and temporal contexts into a
/// unified spacetime representation using an abstract `SpaceTimeKind` enum,
/// allowing for various spacetime geometries (e.g., `EuclideanSpacetime`,
/// `LorentzianSpacetime`, `MinkowskiSpacetime`) in a uniform manner.
/// - **`SymbolKind`**: Provides a basic symbolic representation for the causaloid
/// using an abstract `SymbolKind` enum, useful for labeling, identification,
/// or abstract reasoning across different symbolic types.
/// - **`FloatType` (x2)**: Two `FloatType` parameters, typically used for
/// internal calculations, scalar values, or other generic numerical
/// requirements within the `Causaloid` structure, such as probabilities,
/// weights, or magnitudes. `FloatType` is generally an alias for a standard
/// floating-point type.
///
/// This `UniformCausaloid` is designed to be a sensible default for many applications
/// requiring a flexible yet consistent causal unit structure that can adapt to different
/// underlying spatial, temporal, and symbolic representations through their
/// respective `Kind` enums. It promotes code reusability and simplifies type
/// declarations when the exact concrete type of a context component is not
/// fixed but rather belongs to a set of predefined "kinds".
pub type UniformCausaloid = ;
/// A type alias for a `Vec` (vector) containing `UniformCausaloid` instances.
///
/// This alias provides a convenient shorthand for an ordered collection of causaloids,
/// where each causaloid adheres to a "uniform" configuration using abstract "kind"
/// enums for its contextual components. It is designed to represent a list or
/// sequence of `Causaloid` instances that share a common, flexible generic structure.
///
/// Each `Causaloid` within this vector is parameterized with the following types,
/// defining its uniform context and data handling:
///
/// - **`Data<NumberType>`**: Represents the data component associated with each causaloid.
/// `NumberType` is a generic numeric type, typically a floating-point or integer.
/// - **`SpaceKind`**: Defines the spatial context using an abstract `SpaceKind`
/// enum. This allows the causaloids to operate with various spatial representations
/// (e.g., `EuclideanSpace`, `GeoSpace`) under a single, uniform type.
/// - **`TimeKind`**: Specifies the temporal context using an abstract `TimeKind`
/// enum. This enables the causaloids to handle different temporal representations
/// (e.g., `EuclideanTime`, `DiscreteTime`) flexibly.
/// - **`SpaceTimeKind`**: Combines the spatial and temporal contexts into a
/// unified spacetime representation using an abstract `SpaceTimeKind` enum,
/// allowing for various spacetime geometries.
/// - **`SymbolKind`**: Provides a symbolic representation for the causaloids
/// using an abstract `SymbolKind` enum, useful for labeling and identification.
/// - **`FloatType` (x2)**: Two `FloatType` parameters, typically used for internal
/// calculations, such as probabilities, weights, or magnitudes.
///
/// This `UniformCausaloidVec` is ideal for use cases requiring a flexible yet
/// consistent structure for managing ordered collections of causal entities. It
/// simplifies the representation of sequential events or related causal agents,
/// especially when the specific underlying context types can vary.
pub type UniformCausaloidVec = ;
/// A type alias for a `HashMap` that stores `UniformCausaloid` instances, typically indexed by their unique identifiers.
///
/// This alias provides a convenient shorthand for a collection of causaloids,
/// where each causaloid adheres to a "uniform" configuration using abstract "kind"
/// enums for its contextual components. It is designed to represent a mapping
/// from an integer ID (e.g., a node index or a unique identifier) to a
/// `UniformCausaloid` instance.
///
/// The `UniformCausaloid` type, which forms the value of this map, is parameterized
/// with the following types, defining its flexible and consistent structure:
///
/// - **`Data<NumberType>`**: Represents the data component associated with each causaloid.
/// `NumberType` is a generic numeric type, typically an alias for a floating-point
/// or integer, allowing for flexible data representation.
/// - **`SpaceKind`**: Defines the spatial context using an abstract `SpaceKind`
/// enum. This allows the causaloids to operate with various spatial representations
/// (e.g., `EuclideanSpace`, `EcefSpace`, `NedSpace`, `GeoSpace`) without
/// changing the `Causaloid`'s type signature, providing uniformity across different
/// spatial contexts.
/// - **`TimeKind`**: Specifies the temporal context using an abstract `TimeKind`
/// enum. This enables the causaloids to handle different temporal representations
/// (e.g., `EuclideanTime`, `DiscreteTime`, `EntropicTime`, `LorentzianTime`)
/// flexibly, offering a uniform temporal interface.
/// - **`SpaceTimeKind`**: Combines the spatial and temporal contexts into a
/// unified spacetime representation using an abstract `SpaceTimeKind` enum,
/// allowing for various spacetime geometries (e.g., `EuclideanSpacetime`,
/// `LorentzianSpacetime`, `MinkowskiSpacetime`) in a uniform manner.
/// - **`SymbolKind`**: Provides a basic symbolic representation for the causaloids
/// using an abstract `SymbolKind` enum, useful for labeling, identification,
/// or abstract reasoning across different symbolic types.
/// - **`FloatType` (x2)**: Two `FloatType` parameters, typically used for
/// internal calculations, scalar values, or other generic numerical
/// requirements within the `Causaloid` structure, such as probabilities,
/// weights, or magnitudes. `FloatType` is generally an alias for a standard
/// floating-point type.
///
/// This `UniformCausalMap` is suitable for general-purpose use cases where a
/// flexible yet consistent structure is required for managing causal entities
/// within a map structure. It promotes code reusability and simplifies type
/// declarations when the exact concrete type of a context component is not
/// fixed but rather belongs to a set of predefined "kinds".
pub type UniformCausalMap = ;
/// A type alias for a `CausaloidGraph` composed of `UniformCausaloid` instances.
///
/// This alias provides a convenient shorthand for defining a causal graph where
/// each node (causaloid) adheres to a "uniform" configuration. This means it
/// utilizes abstract "kind" enums for its spatial, temporal, and symbolic contexts,
/// offering flexibility while maintaining a consistent type signature.
///
/// Specifically, `UniformCausalGraph` is a `CausaloidGraph` parameterized by a
/// `Causaloid` that uses the following types for its generic parameters:
///
/// - **`Data<NumberType>`**: Represents the data component associated with each causaloid.
/// `NumberType` is a generic numeric type, typically an alias for a floating-point
/// or integer, allowing for flexible data representation.
/// - **`SpaceKind`**: Defines the spatial context using an abstract `SpaceKind`
/// enum. This allows the causaloids within the graph to operate with various
/// spatial representations (e.g., `EuclideanSpace`, `EcefSpace`, `NedSpace`,
/// `GeoSpace`) without changing the graph's type signature, providing uniformity
/// across different spatial contexts.
/// - **`TimeKind`**: Specifies the temporal context using an abstract `TimeKind`
/// enum. This enables the causaloids to handle different temporal representations
/// (e.g., `EuclideanTime`, `DiscreteTime`, `EntropicTime`, `LorentzianTime`)
/// flexibly, offering a uniform temporal interface.
/// - **`SpaceTimeKind`**: Combines the spatial and temporal contexts into a
/// unified spacetime representation using an abstract `SpaceTimeKind` enum,
/// allowing for various spacetime geometries (e.g., `EuclideanSpacetime`,
/// `LorentzianSpacetime`, `MinkowskiSpacetime`) in a uniform manner.
/// - **`SymbolKind`**: Provides a basic symbolic representation for the causaloids
/// using an abstract `SymbolKind` enum, useful for labeling, identification,
/// or abstract reasoning across different symbolic types.
/// - **`FloatType` (x2)**: Two `FloatType` parameters, typically used for
/// internal calculations, scalar values, or other generic numerical
/// requirements within the `Causaloid` structure, such as probabilities,
/// weights, or magnitudes. `FloatType` is generally an alias for a standard
/// floating-point type.
///
/// This `UniformCausalGraph` is designed for general-purpose use cases where a
/// flexible yet consistent graph structure is required. It promotes code reusability
/// and simplifies type declarations when the exact concrete type of a context
/// component is not fixed but rather belongs to a set of predefined "kinds".
pub type UniformCausalGraph =
;
/// A type alias for a default, general-purpose `Context` configuration that uses
/// abstract "kind" enums for its spatial, temporal, and symbolic contexts.
///
/// This `UniformContext` alias represents a `Context` instance configured with a
/// standard set of generic parameters, making it suitable for common causal
/// modeling scenarios where the specific underlying concrete types for space,
/// time, and symbols can vary but are represented by their respective "kind" enums.
///
/// It provides a convenient and readable shorthand for defining a `Context`
/// that encapsulates:
///
/// - **`Data<NumberType>`**: Used for its data component. `NumberType` is a
/// generic numeric type, typically an alias for a floating-point or integer,
/// allowing for flexible data representation within the context.
/// - **`SpaceKind`**: Defines the spatial context using an abstract `SpaceKind`
/// enum. This allows the context to operate with various spatial representations
/// (e.g., `EuclideanSpace`, `EcefSpace`, `NedSpace`, `GeoSpace`) without
/// changing the `Context`'s type signature, providing uniformity across different
/// spatial contexts.
/// - **`TimeKind`**: Specifies the temporal context using an abstract `TimeKind`
/// enum. This enables the context to handle different temporal representations
/// (e.g., `EuclideanTime`, `DiscreteTime`, `EntropicTime`, `LorentzianTime`)
/// flexibly, offering a uniform temporal interface.
/// - **`SpaceTimeKind`**: Combines the spatial and temporal contexts into a
/// unified spacetime representation using an abstract `SpaceTimeKind` enum,
/// allowing for various spacetime geometries (e.g., `EuclideanSpacetime`,
/// `LorentzianSpacetime`, `MinkowskiSpacetime`) in a uniform manner.
/// - **`SymbolKind`**: Provides a basic symbolic representation for elements
/// within the context using an abstract `SymbolKind` enum, useful for labeling,
/// identification, or abstract reasoning across different symbolic types.
/// - **`FloatType` (x2)**: Two `FloatType` parameters, typically used for
/// internal calculations, scalar values, metrics, or other generic numerical
/// requirements within the `Context` structure, such as probabilities, weights,
/// or magnitudes. `FloatType` is generally an alias for a standard floating-point type.
///
/// This `UniformContext` is designed to be a sensible default for many applications
/// requiring a flexible yet consistent context structure that can adapt to different
/// underlying spatial, temporal, and symbolic representations through their
/// respective `Kind` enums. It promotes code reusability and simplifies type
/// declarations when the exact concrete type of a context component is not
/// fixed but rather belongs to a set of predefined "kinds".
pub type UniformContext =
;
/// A type alias for a default, general-purpose `Contextoid` configuration that uses
/// abstract "kind" enums for its spatial, temporal, and symbolic contexts.
///
/// This `UniformContextoid` alias represents a `Contextoid` instance configured with a
/// standard set of generic parameters, making it suitable for common causal
/// modeling scenarios where the specific underlying concrete types for space,
/// time, and symbols can vary but are represented by their respective "kind" enums.
///
/// It provides a convenient and readable shorthand for defining a `Contextoid`
/// that encapsulates:
///
/// - **`Data<NumberType>`**: Used for its data component. `NumberType` is a
/// generic numeric type, typically an alias for a floating-point or integer,
/// allowing for flexible data representation within the contextoid.
/// - **`SpaceKind`**: Defines the spatial context using an abstract `SpaceKind`
/// enum. This allows the contextoid to operate with various spatial representations
/// (e.g., `EuclideanSpace`, `EcefSpace`, `NedSpace`, `GeoSpace`) without
/// changing the `Contextoid`'s type signature, providing uniformity across different
/// spatial contexts.
/// - **`TimeKind`**: Specifies the temporal context using an abstract `TimeKind`
/// enum. This enables the contextoid to handle different temporal representations
/// (e.g., `EuclideanTime`, `DiscreteTime`, `EntropicTime`, `LorentzianTime`)
/// flexibly, offering a uniform temporal interface.
/// - **`SpaceTimeKind`**: Combines the spatial and temporal contexts into a
/// unified spacetime representation using an abstract `SpaceTimeKind` enum,
/// allowing for various spacetime geometries (e.g., `EuclideanSpacetime`,
/// `LorentzianSpacetime`, `MinkowskiSpacetime`) in a uniform manner.
/// - **`SymbolKind`**: Provides a basic symbolic representation for elements
/// within the contextoid using an abstract `SymbolKind` enum, useful for labeling,
/// identification, or abstract reasoning across different symbolic types.
/// - **`FloatType` (x2)**: Two `FloatType` parameters, typically used for
/// internal calculations, scalar values, metrics, or other generic numerical
/// requirements within the `Contextoid` structure, such as probabilities, weights,
/// or magnitudes. `FloatType` is generally an alias for a standard floating-point type.
///
/// This `UniformContextoid` is designed to be a sensible default for many applications
/// requiring a flexible yet consistent contextoid structure that can adapt to different
/// underlying spatial, temporal, and symbolic representations through their
/// respective `Kind` enums. It promotes code reusability and simplifies type
/// declarations when the exact concrete type of a context component is not
/// fixed but rather belongs to a set of predefined "kinds".
pub type UniformContextoid = ;