Marcell J. Vazquez-Chanlatte

About Me

Illustration by:
Dr. Elizabeth Polgreen.
Click here to see Original

I received my PhD in Computer Science at the University of California, Berkeley advised by Prof. Sanjit A. Sesha; and received a B.S. in Computer Science and a B.S. Physics at the University of Illinois at Urbana-Champaign. I have also spent time at VMWare, SRI, Toyota, Google, Mozilla, and Qualcomm. I am currently an AI Research Scientist at Nissan's Alliance Innovation Lab, Silicon Valley.

Please take the time to explore this site and learn more about my research interests, active software projects, and publications.

Research Interests 🔬

My research interests span the areas of Human Robot Interaction, Formal Methods, and Safety in Artificial Intelligence. The common technical thread in all of my work is mitigating and bypassing combinatorial explosions by employing techniques from formal methods and AI.

During my PhD dissertation my focus was on learning formal specifications, e.g., automata, logic or programs, from expert demonstrations and using demonstrations to teach back the learned formal specifications.

At Nissan, my research focus has been (i) creating safe and auditable decision making systems in the presence of uncertainty and (ii) adjusting decision making models based on observed data or feedback.

PhD Dissertation

Specifications from Demonstrations: Learning, Teaching, and Control

Committee Sanjit A. Seshia, Chair, S. Shankar Sastry, Professor Anca Dragan, Professor Steven Piantadosi

pdf slides

Select Software Projects 💻

See Github for a more exhaustive list.

Sequential Circuits

pyAiger: A python library for convenient modeling/ manipulation of sequential circuits, combinatorial circuits, and boolean expressions represented as (A)nd (I)nverter (G)ates (AIGs). Co-developed with Markus N. Rabe.

pyAiger-BV: Word Level (bitvector) abstractions on top of pyAiger. Co-developed with Markus N. Rabe.

There are a number of other projects that I have spawned off the py-aiger code base for supporting bdds, SAT solvers, past tense LTL, gridworlds, and conversion to and from DFAs.


py-Metric-Temporal-Logic: Python library for working with Metric Temporal Logic (MTL). Metric Temporal Logic is an extension of Linear Temporal Logic (LTL) for specifying properties over time series.

DiscreteSignals: A Python embedded domain specific language for modeling and manipulating discrete time signals. The key distinction between many other timeseries libraries is the lightweight encoding of non-uniform time steps. This abstraction made implementing the py-Metric-Temporal-Logic library much easier.

Specification Inference

Demonstration Informed Specification Search (DISS): a tool for learning "Boolean Task Specifications", in the form of automata or logic, from demonstrations.

Gridworld Visualizer: Python Code for visualizing gridworlds used in my research

Monotone Bipartition: This library enable manipulating and comparing implicitly defined monotone bipartitions on the unit box using adaptive mesh refinement.
Inspired by Maler, Oded. "Learning Monotone Partitions of Partially-Ordered Domains (Work in Progress)." (2017). and the main work horse our series of papers on Logical Lens and Logical Clustering.

Logical Lens:0 Implementation of Logical Lens algorithm for (1) using a parametric specification to map data to an abstract boundary and (2) compute the induced "Logical Distance" between data w.r.t. a parametric specification.


DFA: A simple python implementation of a Deterministic Finite Automata and Moore Machines. Notable features include implicit/lazy definitions, immutable/frozen design, and hashability.

lstar: Python implementation of the discriminant tree for learning DFA and Moore Machines from membership and equivalence queries. Supports a co-routine API for interfacing with other learning algorithms. Works well with my dfa library :)

dfa-identify: Python implementation of SAT based Deterministic Finite Automata identification from a set of accepting and rejecting strings.


Lazy Tree: Python library for manipulating infinite trees. Used in a number of my libraries. For example, the adaptive mesh-refinement in monotone-bipartition and the counterexample search tree in lstar. Useful when a problem can be framed as a search on infinite trees which themselves may be functions of infinite trees.

Select Publications 📃

Please consult Google Scholar for a more complete list.

  1. Vazquez-Chanlatte, Marcell, Ameesh Shah, Gil Lederman, Sanjit A. Seshia. "Demonstration Informed Specification Search."
    arxiv paper slides
  2. Vazquez-Chanlatte, Marcell, Markus N. Rabe, and Sanjit A. Seshia. "A Model Counter's Guide to Probabilistic Systems."
  1. Lauffer, Niklas, Yalcinkaya Beyazit, Vazquez-Chanlatte, Marcell, Shah, Ameesh, Seshia, Sanjit A., "Learning Deterministic Finite Automata Decompositions from Examples and Demonstrations." Formal Methods in Computer-Aided Design 2022
    pdf arxiv slides
  2. Vazquez-Chanlatte, Marcell, Junges, Sebastian, Daniel J. Fremont, Sanjit A. Seshia. "Entropy Guided Control Improvisation", Robotics Science and Systems 2021
    pdf arxiv slides video
  3. Junges, Sebastian, Steven Holtzen, Marcell Vazquez-Chanlatte, Todd Millstein, Guy Van den Broerk, Sanjit A. Seshia. "Model Checking Finite-Horizon Markov Chains with Probabilistic Inference", In International Conference on Computer Aided Verification, 2021.
  4. Vazquez-Chanlatte, Marcell, and Sanjit A. Seshia. "Maximum Causal Entropy Specification Inference from Demonstrations." In International Conference on Computer Aided Verification, pp. 255-278. Springer, Cham, 2020.
    pdf arxiv bibtex slides CAV 2020 Talk
  5. Vazquez-Chanlatte, Marcell , Susmit Jha, Ashish Tiwari, Mark K. Ho, and Sanjit A. Seshia. "Learning Task Specifications from Demonstrations." In NeurIPS. 2018.
    pdf arxiv bibtex
  6. (Extended Abstract) Vazquez-Chanlatte, Marcell , et al. "Communicating Compositional and Temporal Specifications by Demonstration." IFAC Conference on Cyber-Physical & Human Systems. CPHS, 2018
  7. Vazquez-Chanlatte, Marcell, Shromona Ghosh, Jyotirmoy V. Deshmukh, Alberto Sangiovanni-Vincentelli, and Sanjit A. Seshia. "Time-series learning using monotonic logical properties." In International Conference on Runtime Verification, pp. 389-405. Springer, Cham, 2018.
    pdf arxiv bibtex slides
  8. Vazquez-Chanlatte, Marcell J., Shromona Ghosh, Vasumathi Raman, Alberto Sangiovanni-Vincentelli, and Sanjit A. Seshia. "Generating dominant strategies for continuous two-player zero-sum games." IFAC-PapersOnLine 51, no. 16 (2018): 7-12.
  9. Vazquez-Chanlatte, Marcell, Jyotirmoy V. Deshmukh, Xiaoqing Jin, and Sanjit A. Seshia. "Logical Clustering and Learning for Time-Series Data."
    pdf arxiv bibtex