First and Last Name should be a list Email - must be users email ID is a list
if the User provide value in one of the above and others fields should be auto populated.
If all you need is the prefix of the email you can achieve this result using a system module using the Users as the only dimension.
Create enough line items to parse the email to get the email prefix as outlined by @DavidSmith in this post. @kavinkumar has a good suggestion too but the formula should be broken up to keep it simple.
If you want a cleaner way to obtain the email address based on first name and last name I would recommend exporting the User list and re-importing into your own user list (just the email prefix - don't use list properties). Then I would create a system module using that list and import the First Name, Last Name, and their formal email address. Then once the user enters their email prefix, everything will auto-populate because you're line items will be formulated to look them up from the system module.