A cardinal characteristics of the continuum calculator.
While early on changes were pushed as they came in order to store code within GitHub, now that the project is public I have created a private in-development version. Therefore, changes will be larger in scale and less frequent henceforth. Hopefully soon I will only be pushing entirely polished changes, but not yet; I am still partially using this to demonstrate my C# skills.
CCview is designed to make working with cardinal characteristics easier, by:
- Automating some calculations (transitivity of
$\leq$ , proving$\text{Con}(a > b)$ , etc.). - Finding appropriate models for desired configurations of cardinal characteristics.
- Creating constellations of cardinal characteristics.
- Providing citations for cardinal characteristics, models, and inequalities.
- Being a database of cardinal characteristics and papers about them.
CCview is in very early development. Many of the fundamental structures are still highly mutable, much of the code is not uniformised, and many features have not yet been implemented.
In particular, once 1.0.0 is released, this README will be kept entirely up-to-date. For now, this is a documentation of updates more than a useable build. Though it does literally plot cardinal characteristics if you're willing to put in the work of stocking up the database.
- Saving and loading json lists of cardinal characteristics, articles, theorems, models and relations deduced from these objects.
- Plotting cardinal characteristics as a DOT file or png.
- Adding new cardinal characteristics and relations through the command line interface.
- In depth object searching, such as all '$\mathsf{ZFC}\vdash\mathfrak{x}\geq\mathfrak{y}$' relations where either
$\mathfrak{x}$ or$\mathfrak{y}$ are the bounding number. - Model finding by constellation.
- GUI and web app integration.
- Stock up the database with data.
- Exporting citation lists and diagrams to LaTeX.
- Importing articles from MathSciNet's MR Lookup.
- Plotting constellations using the LaTeX symbols for cardinal characteristics.
- Many small adjustments and improvement to existing features.
CCview.CLI will enter a command line shell. This is currently being overhauled structurally, though the UX won't change much in that time.
Usage:
CCview \[command\] \[options\]
Options:
-?, -h, --help Show help and usage information
--version Show version information (see below)
Commands:
add, create <name> <symbol> Create a new cardinal characteristic with name <name> represented by symbol <symbol>.
relate <ids> Create the relation $a \geq b$ between cardinal characteristics a and b by their ids.
relateSymbol, rs <symbols> Create the relation $a \geq b$ between cardinal characteristics a and b by their symbols.
trans Compute the transitive closure of all $a \geq b$ relations.
save Save the cardinals and relations to file.
plot Draw a constellation of the cardinals as a DOT. With option --toPng this will also render as a png.
list List all cardinal characteristics.
exit Exit the programme.
CCview is currently in pre-release versioning. At the time of first making this repo public on GitHub, the version is 0.0.0.1, using 0.Major.Minor.Patch numbering. Once we reach the first 'real' release, versions will become Major.Minor.Patch, starting with 1.0.0.
0.3 In 0.3.0.0 a new data structure has been introduced and many existing data structures have been reconfigured. As such, it is not backwards compatible with old save files. However, the new system keeps the logic much more 'internal'.
- 'Atomic relation's are now generated by Theorems directly and are not saved
- Relations have a derivation that comes from a collection of atomic relations
- Many data types no longer store other data types, only Ids
- The RelationDatabase now works largely on Dictionary<int, T>s, where dictionary[i] will store the T of Id i. This gives built-in id checking and makes fetching objects by Id much faster
- Plotting to png is much slower. Not sure why
- Importing articles from zbMath implemented (try 7960101 if you're stuck for a number to test this with)
- New relation types implemented, such as:
-
$M \models \mathfrak{x} \mathrel{R} \aleph_n$ (where$R \in {=, \geq, \leq}$ ) -
$\mathsf{ZFC} \models \mathfrak{x} \mathrel{R} \mathfrak{y}$ (where$R \in {=, \geq}$ ) $\text{Con}(\mathsf{ZFC} + \mathfrak{x} > \mathfrak{y})$
-
0.4 In 0.4.0.0 we have a complete overhaul of the structure of the project.
- All code is found under
src(future updates may include adding docs, data validation, etc.) src\CCview.Assetsnow houses all imported assets (particularly relations, cardinals, etc.)src\CCview.CLIhouses all command line interface technology.src\CCview.Coreis what was simply calledCCviewbefore, and now is a library for the core computation of relations between cardinal characteristics.